SlideShare a Scribd company logo
( and history of ) 
An Introduction to Laravel PHP
Who the fudge is this guy? 
• Dayle Rees. 
• 30 in December. *cry* 
• Lives in Cardiff with GF Emma.
Welsh! 
( Sounds English )
The Red Panda Guy 
Also Big Panda / PHPanda / 1000s of others. 
( Now, Le Panda Rouge? )
• Head of Development 
• Startup (Seed round A) 
• Index Ventures (Facebook!) 
• Sharing Economy 
• http://www.justpark.com 
• (Previously ParkatmyHouse)
Laravel Team Member 
• One of the first users. 
• Team of high profile PHP 
developers. 
• Laravel 3 Bundles 
• Laravel 4 Bundles
Accidental 
Author 
Over 7000 readers. #1 gross earnings. 
http://leanpub.com/codebright
Laracons! 
Spoke 
Washington DC (Laracon US 2013) 
New York (Laracon US 2014) 
Attended 
Amsterdam (Laracon EU 2013) 
Amsterdam (Laracon EU 2014)
Colour Schemes “Engineer” 
http://github.com/daylerees/colour-schemes 
100 or so themes for a numbers of 
editors and libraries.
Merci!
What’s this talk all about? 
Open source, history and growth. (Story time.) 
Laravel. (Cool stuff!)
Let’s go back in time to 2011! 
(Imagine wibbly-wobbly effect.)
Working in Aberystwyth 
•Using CodeIgniter. 
•Simple projects. 
•No side projects. 
•Not “known” for anything.
Contributed to CodeIgniter 
Started out with graphic contributions. 
Accepted by Phil Sturgeon. (Thanks Phil!) 
Rejected by EllisLab. 
Started to outgrow the framework.
Time for a new framework! 
VS
Laravel 2.something 
• Simple website. 
• Great documentation. 
• Clean and simple code. 
• No users. 
• Mystery author.
Community time! 
• Became active in IRC. 
• Then: 3 people. Now: ~600. 
• Started writing tutorials. 
• Tutorials got attention. 
• Released Code Happy. 
• CodeIgniter users shifting across.
Involvement (L3) 
• Started submitting fixes and features to the pre-release 
Laravel 3. 
• Helped build/design the website for Laravel 3 
(and later 4). 
• Did lots of visual work for the framework 
including splash screens. 
• Built popular bundles for Laravel 3. 
• Help build a welcoming and helpful community.
Friendship 
Taylor Otwell 
(Grand Master Artisan)
Laravel 3 had it’s flaws. 
TESTING :( 
EXTENSIBILITY :’(
Time for Laravel 4! 
• Taylor started work on Laravel 4. 
• One of first users when it was built on Silex. 
• Feedback loop. 
• Exciting new architecture. 
• Stable release cycle. 
• Powered by Composer (Thanks Jordi!) 
• Component-based framework. 
• Uses plenty of open source! (Some Symfony, thanks Fabpot!)
The Promise 
• No preaching! 
• No moaning about other frameworks. 
• Just cool features! 
• Intro to IOC / DI.
Laravel 
• Coding should be enjoyable. 
• Code can be art. 
• Clean and simple syntax. 
• Your framework should grow with you. 
• A complete platform, end to end. 
• Components that solve real problems. 
• Embrace open source, and make use 
of it where possible. 
• Give back to open source community 
where possible. 
• A community of friendly Artisans.
Automatic type-hinted dependency resolution and 
injection inversion of control container.
Magic Code Box
Basic Usage
The same something!
Automatic Class Resolution 
( From the magic box! )
Type-hinted Dependency Resolution
Tricking the magic box.
Let’s do something cool.
Implementations 
( Shameless colour schemes promo.)
Bind the interface. 
( Still have no shame, I mean, just look at the beard.)
Use our new service. 
Imagine username here.
Interchangeable!
Components / Services
Facades! 
Resolve the service from the container (magic box) by known key. 
Forward the method call to the real service instance with parameters.
Replacing components.
Why bind?
The Magic Box Revisited 
• Not just a data store! 
• A number of binding methods. 
• Automated class resolution. 
• Automatic dependency 
injection. 
• Interface binding. 
• Service replacement / mocking. 
• Extensible framework. 
• Facades without the testing 
problems. 
• The heart of the framework! 
• illuminate/container 
( Not so magic anymore, hopefully! )
Routes
Resource Controller
Named Routes
Route Filters 
( Defaults: csrf auth auth.basic guest )
Route Groups
Database time! 
( Drivers: MySQL, PostgresSQL, SQLite, SQL Server )
Eloquent Models
Eloquent Models
Relationships
Relationships
Eager Loading
Queues 
Drivers: Beanstalkd, IronMQ, Amazon SQS, Redis.
Queues
Authentication
Cache 
( Drivers: Database, File, APC, Memcached, XCache, WinCache, Redis, Array, Null )
Cache
Events
Model Events
Artisan
Artisan Commands
Sending Mail 
( Drivers: SMTP, Mailgun, Mandrill. )
Validation 
( Because users are wrong… always. )
More! 
• Redis Client 
• Blade Templating 
• Stripe subscription-based billing. 
• Log system. 
• Custom exception handling. 
• Informative debugging. 
• Form helpers. 
• Localisation. 
• Workbench. 
• Paginator. 
• Session Wrapper. 
• Remote SSH component. 
• Test helpers. 
• Database seeding. 
• Route model binding. 
• Response casting. 
• Environment-based config loader. 
Loads more! Hands are tired from typing.
Laravel Forge 
• PHP Hosting for Artisans. 
• Push to deploy. 
• Choose your own cloud. 
• Latest web stack. 
• HHVM ready. 
• Recipes. (stored scripts)
Homestead 
• Ubuntu 14.04 
• PHP 5.6 
• HHVM 
• Nginx 
• MySQL 
• Postgres 
• Node (With Bower, 
Grunt, and Gulp) 
• Redis 
• Memcached 
• Beanstalkd 
• Laravel Envoy 
• Fabric + HipChat 
Extension
What are you waiting for? 
( Thanks for listening! Sorry if I’ve got 20 minutes left! ) 
composer create-project laravel/laravel 
• Visit #laravel on Freenode. 
• Read Code Bright (come give me your email for a free copy) 
• Watch some Laracasts! (Sup Jeff!) 
• Visit Laravel.io and listen to the podcast! 
• Follow some Laravel guys on twitter. ( @daylerees @taylorotwell @jeffrey_way ) 
• Come say bonjour to me!

More Related Content

What's hot

Laravel 5
Laravel 5Laravel 5
Laravel 5
Brian Feaver
 
All Aboard for Laravel 5.1
All Aboard for Laravel 5.1All Aboard for Laravel 5.1
All Aboard for Laravel 5.1
Jason McCreary
 
Laravel overview
Laravel overviewLaravel overview
Laravel overview
Obinna Akunne
 
Hire laravel-php-developers- Hire Laravel Programmers
Hire laravel-php-developers- Hire Laravel ProgrammersHire laravel-php-developers- Hire Laravel Programmers
Hire laravel-php-developers- Hire Laravel Programmers
Summation IT
 
Intro to Laravel
Intro to LaravelIntro to Laravel
Intro to Laravel
Azukisoft Pte Ltd
 
Software Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill SparksSoftware Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill Sparks
Phill Sparks
 
Digpen 7: Why choose Laravel?
Digpen 7: Why choose Laravel?Digpen 7: Why choose Laravel?
Digpen 7: Why choose Laravel?
John Blackmore
 
Laravel Tutorial PPT
Laravel Tutorial PPTLaravel Tutorial PPT
Laravel Tutorial PPT
Piyush Aggarwal
 
Laravel development (Laravel History, Environment Setup & Laravel Installatio...
Laravel development (Laravel History, Environment Setup & Laravel Installatio...Laravel development (Laravel History, Environment Setup & Laravel Installatio...
Laravel development (Laravel History, Environment Setup & Laravel Installatio...
Dilouar Hossain
 
Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
Mayank Panchal
 
All the Laravel things: up and running to making $$
All the Laravel things: up and running to making $$All the Laravel things: up and running to making $$
All the Laravel things: up and running to making $$
Joe Ferguson
 
Getting started with laravel
Getting started with laravelGetting started with laravel
Getting started with laravel
Advance Idea Infotech
 
Laravel and CodeIgniter: pros & cons
Laravel and CodeIgniter: pros & consLaravel and CodeIgniter: pros & cons
Laravel and CodeIgniter: pros & cons
ElenorWisozk
 
Projects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 ProjectsProjects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 Projects
Sam Dias
 
Laravel 5 New Features
Laravel 5 New FeaturesLaravel 5 New Features
Laravel 5 New Features
Joe Ferguson
 
Introduction to Laravel Framework (5.2)
Introduction to Laravel Framework (5.2)Introduction to Laravel Framework (5.2)
Introduction to Laravel Framework (5.2)
Viral Solani
 
What's New In Laravel 5
What's New In Laravel 5What's New In Laravel 5
What's New In Laravel 5
Darren Craig
 
Laravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routingLaravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routing
Christopher Pecoraro
 
Getting to know Laravel 5
Getting to know Laravel 5Getting to know Laravel 5
Getting to know Laravel 5
Bukhori Aqid
 
Why Laravel?
Why Laravel?Why Laravel?
Why Laravel?
Jonathan Goode
 

What's hot (20)

Laravel 5
Laravel 5Laravel 5
Laravel 5
 
All Aboard for Laravel 5.1
All Aboard for Laravel 5.1All Aboard for Laravel 5.1
All Aboard for Laravel 5.1
 
Laravel overview
Laravel overviewLaravel overview
Laravel overview
 
Hire laravel-php-developers- Hire Laravel Programmers
Hire laravel-php-developers- Hire Laravel ProgrammersHire laravel-php-developers- Hire Laravel Programmers
Hire laravel-php-developers- Hire Laravel Programmers
 
Intro to Laravel
Intro to LaravelIntro to Laravel
Intro to Laravel
 
Software Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill SparksSoftware Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill Sparks
 
Digpen 7: Why choose Laravel?
Digpen 7: Why choose Laravel?Digpen 7: Why choose Laravel?
Digpen 7: Why choose Laravel?
 
Laravel Tutorial PPT
Laravel Tutorial PPTLaravel Tutorial PPT
Laravel Tutorial PPT
 
Laravel development (Laravel History, Environment Setup & Laravel Installatio...
Laravel development (Laravel History, Environment Setup & Laravel Installatio...Laravel development (Laravel History, Environment Setup & Laravel Installatio...
Laravel development (Laravel History, Environment Setup & Laravel Installatio...
 
Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
 
All the Laravel things: up and running to making $$
All the Laravel things: up and running to making $$All the Laravel things: up and running to making $$
All the Laravel things: up and running to making $$
 
Getting started with laravel
Getting started with laravelGetting started with laravel
Getting started with laravel
 
Laravel and CodeIgniter: pros & cons
Laravel and CodeIgniter: pros & consLaravel and CodeIgniter: pros & cons
Laravel and CodeIgniter: pros & cons
 
Projects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 ProjectsProjects In Laravel : Learn Laravel Building 10 Projects
Projects In Laravel : Learn Laravel Building 10 Projects
 
Laravel 5 New Features
Laravel 5 New FeaturesLaravel 5 New Features
Laravel 5 New Features
 
Introduction to Laravel Framework (5.2)
Introduction to Laravel Framework (5.2)Introduction to Laravel Framework (5.2)
Introduction to Laravel Framework (5.2)
 
What's New In Laravel 5
What's New In Laravel 5What's New In Laravel 5
What's New In Laravel 5
 
Laravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routingLaravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routing
 
Getting to know Laravel 5
Getting to know Laravel 5Getting to know Laravel 5
Getting to know Laravel 5
 
Why Laravel?
Why Laravel?Why Laravel?
Why Laravel?
 

Viewers also liked

Presentation laravel 5 4
Presentation laravel 5 4Presentation laravel 5 4
Presentation laravel 5 4
Christen Gjølbye Christensen
 
php[world] 2015 Laravel 5.1: From Homestead to the Cloud
php[world] 2015 Laravel 5.1: From Homestead to the Cloudphp[world] 2015 Laravel 5.1: From Homestead to the Cloud
php[world] 2015 Laravel 5.1: From Homestead to the Cloud
Joe Ferguson
 
ريادة الأعمال
ريادة الأعمالريادة الأعمال
ريادة الأعمال
Mohammed Al-Ayouti
 
Intro to Laravel PHP Framework
Intro to Laravel PHP FrameworkIntro to Laravel PHP Framework
Intro to Laravel PHP Framework
Bill Condo
 
Laravel Beginners Tutorial 1
Laravel Beginners Tutorial 1Laravel Beginners Tutorial 1
Laravel Beginners Tutorial 1
Vikas Chauhan
 
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجحدورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
Mohammad Al Sabeeh
 

Viewers also liked (6)

Presentation laravel 5 4
Presentation laravel 5 4Presentation laravel 5 4
Presentation laravel 5 4
 
php[world] 2015 Laravel 5.1: From Homestead to the Cloud
php[world] 2015 Laravel 5.1: From Homestead to the Cloudphp[world] 2015 Laravel 5.1: From Homestead to the Cloud
php[world] 2015 Laravel 5.1: From Homestead to the Cloud
 
ريادة الأعمال
ريادة الأعمالريادة الأعمال
ريادة الأعمال
 
Intro to Laravel PHP Framework
Intro to Laravel PHP FrameworkIntro to Laravel PHP Framework
Intro to Laravel PHP Framework
 
Laravel Beginners Tutorial 1
Laravel Beginners Tutorial 1Laravel Beginners Tutorial 1
Laravel Beginners Tutorial 1
 
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجحدورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
 

Similar to An Introduction to the Laravel Framework (AFUP Forum PHP 2014)

Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
Reuven Lerner
 
Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015
Ricard Clau
 
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGNIntroducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
 
Actors and Threads
Actors and ThreadsActors and Threads
Actors and Threads
mperham
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
Tony Tam
 
Service stack all the things
Service stack all the thingsService stack all the things
Service stack all the things
cyberzeddk
 
Rails development environment talk
Rails development environment talkRails development environment talk
Rails development environment talk
Reuven Lerner
 
Making Scala Faster: 3 Expert Tips For Busy Development Teams
Making Scala Faster: 3 Expert Tips For Busy Development TeamsMaking Scala Faster: 3 Expert Tips For Busy Development Teams
Making Scala Faster: 3 Expert Tips For Busy Development Teams
Lightbend
 
Frontend as a first class citizen
Frontend as a first class citizenFrontend as a first class citizen
Frontend as a first class citizen
Marcin Grzywaczewski
 
Digging deeper into service stack
Digging deeper into service stackDigging deeper into service stack
Digging deeper into service stack
cyberzeddk
 
Robotics, Search and AI with Solr, MyRobotLab, and Deeplearning4j
Robotics, Search and AI with Solr, MyRobotLab, and Deeplearning4jRobotics, Search and AI with Solr, MyRobotLab, and Deeplearning4j
Robotics, Search and AI with Solr, MyRobotLab, and Deeplearning4j
Kevin Watters
 
The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep L...
The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep L...The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep L...
The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep L...
Lucidworks
 
Redis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis LabsRedis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Labs
 
Doctrine 2.0 Enterprise Persistence Layer for PHP
Doctrine 2.0 Enterprise Persistence Layer for PHPDoctrine 2.0 Enterprise Persistence Layer for PHP
Doctrine 2.0 Enterprise Persistence Layer for PHP
Guilherme Blanco
 
JSR 335 / java 8 - update reference
JSR 335 / java 8 - update referenceJSR 335 / java 8 - update reference
JSR 335 / java 8 - update reference
sandeepji_choudhary
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on RailsAvi Kedar
 
Messaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new frameworkMessaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new framework
Tomas Doran
 
Real time system_performance_mon
Real time system_performance_monReal time system_performance_mon
Real time system_performance_monTomas Doran
 
Devops kc meetup_5_20_2013
Devops kc meetup_5_20_2013Devops kc meetup_5_20_2013
Devops kc meetup_5_20_2013Aaron Blythe
 

Similar to An Introduction to the Laravel Framework (AFUP Forum PHP 2014) (20)

Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
 
Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015
 
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGNIntroducing Scala to your Ruby/Java Shop : My experiences at IGN
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
 
Actors and Threads
Actors and ThreadsActors and Threads
Actors and Threads
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
Service stack all the things
Service stack all the thingsService stack all the things
Service stack all the things
 
Rails development environment talk
Rails development environment talkRails development environment talk
Rails development environment talk
 
Making Scala Faster: 3 Expert Tips For Busy Development Teams
Making Scala Faster: 3 Expert Tips For Busy Development TeamsMaking Scala Faster: 3 Expert Tips For Busy Development Teams
Making Scala Faster: 3 Expert Tips For Busy Development Teams
 
Frontend as a first class citizen
Frontend as a first class citizenFrontend as a first class citizen
Frontend as a first class citizen
 
Digging deeper into service stack
Digging deeper into service stackDigging deeper into service stack
Digging deeper into service stack
 
Robotics, Search and AI with Solr, MyRobotLab, and Deeplearning4j
Robotics, Search and AI with Solr, MyRobotLab, and Deeplearning4jRobotics, Search and AI with Solr, MyRobotLab, and Deeplearning4j
Robotics, Search and AI with Solr, MyRobotLab, and Deeplearning4j
 
The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep L...
The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep L...The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep L...
The Intersection of Robotics, Search and AI with Solr, MyRobotLab, and Deep L...
 
Redis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis LabsRedis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis Labs
 
Doctrine 2.0 Enterprise Persistence Layer for PHP
Doctrine 2.0 Enterprise Persistence Layer for PHPDoctrine 2.0 Enterprise Persistence Layer for PHP
Doctrine 2.0 Enterprise Persistence Layer for PHP
 
JSR 335 / java 8 - update reference
JSR 335 / java 8 - update referenceJSR 335 / java 8 - update reference
JSR 335 / java 8 - update reference
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on Rails
 
Messaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new frameworkMessaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new framework
 
Real time system_performance_mon
Real time system_performance_monReal time system_performance_mon
Real time system_performance_mon
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
Devops kc meetup_5_20_2013
Devops kc meetup_5_20_2013Devops kc meetup_5_20_2013
Devops kc meetup_5_20_2013
 

Recently uploaded

Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 

An Introduction to the Laravel Framework (AFUP Forum PHP 2014)

  • 1. ( and history of ) An Introduction to Laravel PHP
  • 2. Who the fudge is this guy? • Dayle Rees. • 30 in December. *cry* • Lives in Cardiff with GF Emma.
  • 3. Welsh! ( Sounds English )
  • 4. The Red Panda Guy Also Big Panda / PHPanda / 1000s of others. ( Now, Le Panda Rouge? )
  • 5. • Head of Development • Startup (Seed round A) • Index Ventures (Facebook!) • Sharing Economy • http://www.justpark.com • (Previously ParkatmyHouse)
  • 6. Laravel Team Member • One of the first users. • Team of high profile PHP developers. • Laravel 3 Bundles • Laravel 4 Bundles
  • 7. Accidental Author Over 7000 readers. #1 gross earnings. http://leanpub.com/codebright
  • 8. Laracons! Spoke Washington DC (Laracon US 2013) New York (Laracon US 2014) Attended Amsterdam (Laracon EU 2013) Amsterdam (Laracon EU 2014)
  • 9. Colour Schemes “Engineer” http://github.com/daylerees/colour-schemes 100 or so themes for a numbers of editors and libraries.
  • 10.
  • 12. What’s this talk all about? Open source, history and growth. (Story time.) Laravel. (Cool stuff!)
  • 13. Let’s go back in time to 2011! (Imagine wibbly-wobbly effect.)
  • 14. Working in Aberystwyth •Using CodeIgniter. •Simple projects. •No side projects. •Not “known” for anything.
  • 15. Contributed to CodeIgniter Started out with graphic contributions. Accepted by Phil Sturgeon. (Thanks Phil!) Rejected by EllisLab. Started to outgrow the framework.
  • 16. Time for a new framework! VS
  • 17. Laravel 2.something • Simple website. • Great documentation. • Clean and simple code. • No users. • Mystery author.
  • 18. Community time! • Became active in IRC. • Then: 3 people. Now: ~600. • Started writing tutorials. • Tutorials got attention. • Released Code Happy. • CodeIgniter users shifting across.
  • 19. Involvement (L3) • Started submitting fixes and features to the pre-release Laravel 3. • Helped build/design the website for Laravel 3 (and later 4). • Did lots of visual work for the framework including splash screens. • Built popular bundles for Laravel 3. • Help build a welcoming and helpful community.
  • 20. Friendship Taylor Otwell (Grand Master Artisan)
  • 21. Laravel 3 had it’s flaws. TESTING :( EXTENSIBILITY :’(
  • 22. Time for Laravel 4! • Taylor started work on Laravel 4. • One of first users when it was built on Silex. • Feedback loop. • Exciting new architecture. • Stable release cycle. • Powered by Composer (Thanks Jordi!) • Component-based framework. • Uses plenty of open source! (Some Symfony, thanks Fabpot!)
  • 23. The Promise • No preaching! • No moaning about other frameworks. • Just cool features! • Intro to IOC / DI.
  • 24. Laravel • Coding should be enjoyable. • Code can be art. • Clean and simple syntax. • Your framework should grow with you. • A complete platform, end to end. • Components that solve real problems. • Embrace open source, and make use of it where possible. • Give back to open source community where possible. • A community of friendly Artisans.
  • 25. Automatic type-hinted dependency resolution and injection inversion of control container.
  • 29. Automatic Class Resolution ( From the magic box! )
  • 33. Implementations ( Shameless colour schemes promo.)
  • 34. Bind the interface. ( Still have no shame, I mean, just look at the beard.)
  • 35. Use our new service. Imagine username here.
  • 38. Facades! Resolve the service from the container (magic box) by known key. Forward the method call to the real service instance with parameters.
  • 41. The Magic Box Revisited • Not just a data store! • A number of binding methods. • Automated class resolution. • Automatic dependency injection. • Interface binding. • Service replacement / mocking. • Extensible framework. • Facades without the testing problems. • The heart of the framework! • illuminate/container ( Not so magic anymore, hopefully! )
  • 45. Route Filters ( Defaults: csrf auth auth.basic guest )
  • 47. Database time! ( Drivers: MySQL, PostgresSQL, SQLite, SQL Server )
  • 53. Queues Drivers: Beanstalkd, IronMQ, Amazon SQS, Redis.
  • 56. Cache ( Drivers: Database, File, APC, Memcached, XCache, WinCache, Redis, Array, Null )
  • 57. Cache
  • 62. Sending Mail ( Drivers: SMTP, Mailgun, Mandrill. )
  • 63. Validation ( Because users are wrong… always. )
  • 64. More! • Redis Client • Blade Templating • Stripe subscription-based billing. • Log system. • Custom exception handling. • Informative debugging. • Form helpers. • Localisation. • Workbench. • Paginator. • Session Wrapper. • Remote SSH component. • Test helpers. • Database seeding. • Route model binding. • Response casting. • Environment-based config loader. Loads more! Hands are tired from typing.
  • 65. Laravel Forge • PHP Hosting for Artisans. • Push to deploy. • Choose your own cloud. • Latest web stack. • HHVM ready. • Recipes. (stored scripts)
  • 66. Homestead • Ubuntu 14.04 • PHP 5.6 • HHVM • Nginx • MySQL • Postgres • Node (With Bower, Grunt, and Gulp) • Redis • Memcached • Beanstalkd • Laravel Envoy • Fabric + HipChat Extension
  • 67. What are you waiting for? ( Thanks for listening! Sorry if I’ve got 20 minutes left! ) composer create-project laravel/laravel • Visit #laravel on Freenode. • Read Code Bright (come give me your email for a free copy) • Watch some Laracasts! (Sup Jeff!) • Visit Laravel.io and listen to the podcast! • Follow some Laravel guys on twitter. ( @daylerees @taylorotwell @jeffrey_way ) • Come say bonjour to me!