SlideShare une entreprise Scribd logo
1  sur  67
Télécharger pour lire hors ligne
( 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.
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
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!

Contenu connexe

Tendances

All Aboard for Laravel 5.1
All Aboard for Laravel 5.1All Aboard for Laravel 5.1
All Aboard for Laravel 5.1Jason McCreary
 
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 ProgrammersSummation IT
 
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 SparksPhill Sparks
 
Digpen 7: Why choose Laravel?
Digpen 7: Why choose Laravel?Digpen 7: Why choose Laravel?
Digpen 7: Why choose Laravel?John Blackmore
 
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
 
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
 
Laravel and CodeIgniter: pros & cons
Laravel and CodeIgniter: pros & consLaravel and CodeIgniter: pros & cons
Laravel and CodeIgniter: pros & consElenorWisozk
 
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 ProjectsSam Dias
 
Laravel 5 New Features
Laravel 5 New FeaturesLaravel 5 New Features
Laravel 5 New FeaturesJoe 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 5Darren Craig
 
Laravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routingLaravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routingChristopher Pecoraro
 
Getting to know Laravel 5
Getting to know Laravel 5Getting to know Laravel 5
Getting to know Laravel 5Bukhori Aqid
 

Tendances (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?
 

En vedette

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 CloudJoe Ferguson
 
Intro to Laravel PHP Framework
Intro to Laravel PHP FrameworkIntro to Laravel PHP Framework
Intro to Laravel PHP FrameworkBill Condo
 
Laravel Beginners Tutorial 1
Laravel Beginners Tutorial 1Laravel Beginners Tutorial 1
Laravel Beginners Tutorial 1Vikas Chauhan
 
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجحدورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجحMohammad Al Sabeeh
 

En vedette (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
 
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجحدورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
دورة ريادة الأعمال وبناء نماذج العمل - حول فكرتك إلى مشروع ناجح
 

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

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 2015Ricard 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 IGNManish Pandit
 
Actors and Threads
Actors and ThreadsActors and Threads
Actors and Threadsmperham
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swaggerTony Tam
 
Service stack all the things
Service stack all the thingsService stack all the things
Service stack all the thingscyberzeddk
 
Rails development environment talk
Rails development environment talkRails development environment talk
Rails development environment talkReuven 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 TeamsLightbend
 
Digging deeper into service stack
Digging deeper into service stackDigging deeper into service stack
Digging deeper into service stackcyberzeddk
 
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 Deeplearning4jKevin 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 LabsRedis 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 PHPGuilherme Blanco
 
JSR 335 / java 8 - update reference
JSR 335 / java 8 - update referenceJSR 335 / java 8 - update reference
JSR 335 / java 8 - update referencesandeepji_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 frameworkTomas 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
 

Similaire à 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
 

Dernier

Mastering Kubernetes - Basics and Advanced Concepts using Example Project
Mastering Kubernetes - Basics and Advanced Concepts using Example ProjectMastering Kubernetes - Basics and Advanced Concepts using Example Project
Mastering Kubernetes - Basics and Advanced Concepts using Example Projectwajrcs
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Neo4j
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
Kubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxKubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxPrakarsh -
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 

Dernier (20)

Mastering Kubernetes - Basics and Advanced Concepts using Example Project
Mastering Kubernetes - Basics and Advanced Concepts using Example ProjectMastering Kubernetes - Basics and Advanced Concepts using Example Project
Mastering Kubernetes - Basics and Advanced Concepts using Example Project
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
Kubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxKubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptx
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 

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.
  • 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!