SlideShare a Scribd company logo
1 of 64
Download to read offline
All Aboard for Laravel 5.1
Jason McCreary
"JMac"
@gonedark
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
A short rant about frameworks
Choose wisely and code carefully
2
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Talk the Talk
1. Whatโ€™s New in Laravel 5.0
2. Upgrading from Laravel 4.2
3. Whatโ€™s New in Laravel 5.1
4. Whatโ€™s coming in Laravel 5.2
3
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
The Goal
โ€œTo get you familiar with the new features in Laravel so
you are comfortable upgrading your projects to 5.1โ€
4
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Why Upgrade?
โ€œLaravel 5.1 is the ๏ฌrst release of Laravel to receive
long term support. Laravel 5.1 will receive bug ๏ฌxes
for 2 years and security ๏ฌxes for 3 years.This support
window is the largest ever provided for Laravel and
provides stability and peace of mind for larger,
enterprise clients and customers.โ€
5
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Whatโ€™s Newโ€ฆ
In Laravel 5.0
6
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
New Folder Structure
โ€ข Follows PSR-4 naming conventions
โ€ข App namespacing
โ€ข Models live in the default namespace
โ€ข Everything related to HTTP lives under Http/
(controllers, middleware, requests)
โ€ข Views live outside the App namespace within
resources/.
7
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Folder Structure
8
4.2 5.0
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
App Folder
9
4.2 5.0
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Namespacing
<?php namespace App;โ€จ
โ€จ
// ...
โ€จ
class User extends Model {โ€จ
// ...โ€จ
}
10
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Namespacing
<?php namespace AppHttpControllers;โ€จ
โ€จ
class HomeController extends Controller {
โ€จ
public function index()โ€จ
{โ€จ
return view('home');โ€จ
}โ€จ
}
11
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Namespacing
"autoload": {โ€จ
"classmap": [โ€จ
"app/commands",โ€จ
"app/controllers",โ€จ
"app/models",โ€จ
"app/database/migrations",โ€จ
"app/database/seeds",โ€จ
"app/tests/TestCase.php"โ€จ
]โ€จ
},
12
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App": "app/"
}
},
4.2 5.0
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
New Objects
โ€ข Events are now objects, not strings!
โ€ข Command objects allow simpler job processing
โ€ข Requests are now objects
โ€ข Middleware objects to replace Filters
13
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Middleware
โ€œHTTP middleware provide a convenient mechanism
for ๏ฌltering HTTP requests entering your application.โ€
14
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Middleware
<?php namespace AppHttpControllers;โ€จ
โ€จ
class HomeController extends Controller {โ€จ
public function __construct()โ€จ
{โ€จ
$this->middleware('auth');โ€จ
}
// ...โ€จ
}
15
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Middleware
<?php namespace AppHttpMiddleware;
use Closure;
class TimeoutMiddleware {
public function handle($request, Closure $next) {
if (abs(time() - $request->input(โ€˜ttlโ€™)) > 300) {
return redirect('timeout');
}
return $next($request);
}
}
16
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Form Request Objects
โ€œA simple way to customize request validation
automatically.โ€
17
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Form Request Objects
<?php namespace AppHttpRequests;
class RegisterRequest extends FormRequest {
public function rules() {
return [
'email' => 'required|email|unique:users',
'password' => 'required|confirmed|min:8'
];
}
}
18
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Controller Method Injection
โ€œIn addition to constructor injection, you may now
type-hint dependencies on controller methods. These
objects will be resolved and available along with any
route parameters.โ€
19
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Controller Method Injection
public function register(
RegisterRequest $request,
RegistrationRepository $registration)
{
// ...
}
20
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
ControllerValidation
"If FormRequests are a little too much, the Laravel 5
base controller now includes a
ValidatesRequests trait.This trait provides a
simple validate() method to validate incoming
requests."
21
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
ControllerValidation
public function register(Request $request)
{
$this->validate($request, [
'email' => 'required|email|unique:users',
'password' => 'required|confirmed|min:8'
]);
}
22
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Environment Con๏ฌguration
โ€œLaravel 5 uses the DotEnv library to condense all
con๏ฌguration values into a single .env ๏ฌle. These
values get loaded into $_ENV and available through the
env() helper method.โ€
23
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Environment Con๏ฌguration
APP_ENV=localโ€จ
APP_DEBUG=trueโ€จ
APP_KEY=SomeRandomStringโ€จ
โ€จ
DB_HOST=localhostโ€จ
DB_DATABASE=homesteadโ€จ
DB_USERNAME=homesteadโ€จ
DB_PASSWORD=secretโ€จ
โ€จ
CACHE_DRIVER=fileโ€จ
SESSION_DRIVER=file
24
<?php
return array(
'APP_KEY' => 'secretkey',
);
4.2 5.0
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Environment Con๏ฌguration
25
<?phpโ€จ
โ€จ
return [
โ€จ
'debug' => env('APP_DEBUG'),โ€จ
// ...
โ€จ
'key' => env('APP_KEY', 'SomeRandomString'),โ€จ
โ€จ
// ...โ€จ
];
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Artisan Updates
โ€ข Now includes several make commands to generate
common objects
โ€ข tinker is now backed by Psysh for a more powerful
REPL
โ€ข route commands for listing and caching routes
26
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Authentication
โ€œUser registration, authentication, and password reset
controllers are now included out of the box, as well as
simple corresponding views.โ€
27
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
User Model (4.2)
<?phpโ€จ
โ€จ
use IlluminateAuthUserTrait;โ€จ
use IlluminateAuthUserInterface;โ€จ
use IlluminateAuthRemindersRemindableTrait;โ€จ
use IlluminateAuthRemindersRemindableInterface;โ€จ
โ€จ
class User extends Eloquent implements UserInterface,
RemindableInterface {โ€จ
โ€จ
use UserTrait, RemindableTrait;โ€จ
โ€จ
protected $table = 'users';โ€จ
protected $hidden = array('password', 'remember_token');โ€จ
}
28
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
User Model (5.0)
<?php namespace App;โ€จ
โ€จ
use IlluminateAuthAuthenticatable;โ€จ
use IlluminateDatabaseEloquentModel;โ€จ
use IlluminateAuthPasswordsCanResetPassword;โ€จ
use IlluminateContractsAuthAuthenticatable as AuthenticatableContract;โ€จ
use IlluminateContractsAuthCanResetPassword as
CanResetPasswordContract;โ€จ
โ€จ
class User extends Model implements AuthenticatableContract,
CanResetPasswordContract {โ€จ
โ€จ
use Authenticatable, CanResetPassword;โ€จ
โ€จ
protected $table = 'users';โ€จ
protected $fillable = ['name', 'email', 'password'];โ€จ
protected $hidden = ['password', 'remember_token'];โ€จ
}
29
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Blade
โ€œBy default, Laravel 5.0 escapes all output from both
the {{ }} and {{{ }}} Blade directives. A new
{!! !!} directive has been introduced to display raw,
unescaped output.โ€
30
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Libraries and Packages
โ€ข Laravel Elixir - asset management
โ€ข Laravel Socialite - authentication with Oauth services
โ€ข Flysystem - ๏ฌlesystem abstraction library
โ€ข Laravel Scheduler - command manager
31
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Upgrading Laravel
From 4.2 to 5.0
32
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Two Approaches
โ€ข โ€œNew move-inโ€
โ€ข โ€œUpdate in-placeโ€
33
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
What to do?
โ€œAs always, it depends. However, the documentation
recommends migrating your 4.2 app to a new Laravel 5
app. So, new move-in it is.โ€
34
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Basic Steps
1. Create a new Laravel 5 app
2. Migrate con๏ฌguration
3. Move app ๏ฌles
4. Add namespacing
5. Review Bindings
6. Miscellaneous changes
7. Blade Tag changes
8. Update dependencies
9. Cross ๏ฌngers
35
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Do not pass 5.0!
โ€œGoing directly to 5.1 will make the migration more
complicated as there are signi๏ฌcant changes between
5.0 and 5.1. Do not pass 5.0. Otherwise you will not
collect $200 and you will go to jail.โ€
36
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Create new Laravel 5 app
composer create-project laravel/laravel --prefer-dist
37
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Create new Laravel 5 app
composer global require โ€œlaravel/installer=~1.1โ€
laravel new project-name
38
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Migrate Con๏ฌguration
1. Copy con๏ฌguration from your 4.2 appโ€™s env.php
to .env
2. Compare con๏ฌgurations from your 4.2 appโ€™s
config/
3. Recreate environment con๏ฌgurations from your 4.2
appโ€™s config/env/ to.env
4. Update environment con๏ฌgurations to use env()
39
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Migrate Con๏ฌguration
โ€œBe sure to leave .env.example ๏ฌle in your project.
It should contain placeholder values that will make it
easy for other developers to copy and con๏ฌgure for
their environment.โ€
40
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Migrate Con๏ฌguration
โ€œWhen managing multiple environments, you may ๏ฌnd it
easiest to create several .env ๏ฌles and symlink
the .env within each environment.โ€
41
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Move Files
42
4.2 5.0
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Move Files
โ€ข routes.php to app/Http/routes.php
โ€ข app/views to resources/views
โ€ข app/database to database/
43
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Add namespace
โ€œYou do not need to do this.You can keep everything in
the global namespace and add the paths to the
classmap just as in Laravel 4.2. However, not doing
so carries over technical debt as your project will not
truly follow Laravel 5.0โ€™s con๏ฌguration.โ€
44
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Add namespace
<?php namespace AppHttpControllers;โ€จ
โ€จ
class YourController extends Controller {
// ...โ€จ
}โ€จ
45
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Add namespace
<?php namespace App;โ€จ
โ€จ
class YourModel extends Eloquent {
// ...โ€จ
}โ€จ
46
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Review Bindings
"Move any service container bindings from start/
global.php to the register method of the app/
Providers/AppServiceProvider.php ๏ฌle."
47
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Miscellaneous Changes
โ€ขSoftDeletingTrait is now SoftDeletes
โ€ขUser Authentication changes
โ€ขPagination method changes
โ€ขOh yeah, and the Form and Html Facades are gone.
48
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Blade Changes
1. Cry
2. Bargain
3. Face reality
4. Start changing every {{ }} to {!! !!}
5. Remove all blade comment tags {{-- --}} (you
should have known better)
6. Smile
49
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Update your dependencies
"Review your dependencies then run composer
update"
50
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Cross ๏ฌngers
51
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 201552
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Questionsโ€ฆ
Ask now! Cause weโ€™re moving to 5.1
53
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Whatโ€™s Newโ€ฆ
In Laravel 5.1
54
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Project Updates
โ€ข Long Term Support
โ€ข Requires PHP > 5.5.9
โ€ข Follows PSR-2
โ€ข Updated Documentation
โ€ข Uses openssl for encryption, instead of mcrypt
55
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
App Folder
56
5.0 5.1
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Event Broadcasting
"makes it easy to broadcast your events over a
websocket connection."
57
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Middleware Parameters
<?php namespace AppHttpMiddleware;
use Closure;
class RoleMiddleware {
public function handle($request, Closure $next, $role) {
if (!$request->user()->hasRole($role)) {
// Redirect...
}
return $next($request);
}
}
58
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Middleware Parameters
Route::put(
โ€˜post/{id}',
['middleware' => 'role:editor', function ($id) {
// ...
}]
);
59
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Focus on Testing
โ€ข Stronger integration testing
โ€ข Model factories
60
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Whatโ€™s Comingโ€ฆ
In Laravel 5.2
61
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Laravel 5.2
โ€ข Coming December 2015
โ€ข Route ๏ฌlters have been deprecated in preference of
middleware.
โ€ข *_fetch methods deprecated in favor of *_pluck
62
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Resources
โ€ข Whatโ€™s new in Laravel 5 Laracasts
โ€ข Laravel Of๏ฌcial Upgrade Guide
โ€ข Laravel In-Place Upgrade Guide
โ€ข Whatโ€™s new in Laravel 5.1 Laracasts
63
All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015
Questionsโ€ฆ
@gonedark on Twitter
64

More Related Content

What's hot

Web Development with Laravel 5
Web Development with Laravel 5Web Development with Laravel 5
Web Development with Laravel 5Soheil Khodayari
ย 
From CakePHP to Laravel
From CakePHP to LaravelFrom CakePHP to Laravel
From CakePHP to LaravelJason McCreary
ย 
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 TutorialAdventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 TutorialJoe Ferguson
ย 
Digpen 7: Why choose Laravel?
Digpen 7: Why choose Laravel?Digpen 7: Why choose Laravel?
Digpen 7: Why choose Laravel?John Blackmore
ย 
A introduction to Laravel framework
A introduction to Laravel frameworkA introduction to Laravel framework
A introduction to Laravel frameworkPhu Luong Trong
ย 
Laravel 5.4
Laravel 5.4 Laravel 5.4
Laravel 5.4 Nisha Patel
ย 
Getting to know Laravel 5
Getting to know Laravel 5Getting to know Laravel 5
Getting to know Laravel 5Bukhori Aqid
ย 
What's New In Laravel 5
What's New In Laravel 5What's New In Laravel 5
What's New In Laravel 5Darren Craig
ย 
10 Laravel packages everyone should know
10 Laravel packages everyone should know10 Laravel packages everyone should know
10 Laravel packages everyone should knowPovilas Korop
ย 
Hack the Future
Hack the FutureHack the Future
Hack the FutureJason McCreary
ย 
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 overview
Laravel overviewLaravel overview
Laravel overviewObinna Akunne
ย 
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 - The PHP Framework for Web Artisans
Laravel - The PHP Framework for Web ArtisansLaravel - The PHP Framework for Web Artisans
Laravel - The PHP Framework for Web ArtisansWindzoon Technologies
ย 
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin Lorvent56
ย 
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)daylerees
ย 
All the Laravel Things โ€“ Up & Running to Making $$
All the Laravel Things โ€“ Up & Running to Making $$All the Laravel Things โ€“ Up & Running to Making $$
All the Laravel Things โ€“ Up & Running to Making $$Joe Ferguson
ย 
php[world] 2015 Training - Laravel from the Ground Up
php[world] 2015 Training - Laravel from the Ground Upphp[world] 2015 Training - Laravel from the Ground Up
php[world] 2015 Training - Laravel from the Ground UpJoe Ferguson
ย 

What's hot (20)

Web Development with Laravel 5
Web Development with Laravel 5Web Development with Laravel 5
Web Development with Laravel 5
ย 
From CakePHP to Laravel
From CakePHP to LaravelFrom CakePHP to Laravel
From CakePHP to Laravel
ย 
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 TutorialAdventures in Laravel 5 SunshinePHP 2016 Tutorial
Adventures in Laravel 5 SunshinePHP 2016 Tutorial
ย 
Digpen 7: Why choose Laravel?
Digpen 7: Why choose Laravel?Digpen 7: Why choose Laravel?
Digpen 7: Why choose Laravel?
ย 
Intro to Laravel
Intro to LaravelIntro to Laravel
Intro to Laravel
ย 
A introduction to Laravel framework
A introduction to Laravel frameworkA introduction to Laravel framework
A introduction to Laravel framework
ย 
Laravel 5.4
Laravel 5.4 Laravel 5.4
Laravel 5.4
ย 
Getting to know Laravel 5
Getting to know Laravel 5Getting to know Laravel 5
Getting to know Laravel 5
ย 
What's New In Laravel 5
What's New In Laravel 5What's New In Laravel 5
What's New In Laravel 5
ย 
Laravel Introduction
Laravel IntroductionLaravel Introduction
Laravel Introduction
ย 
10 Laravel packages everyone should know
10 Laravel packages everyone should know10 Laravel packages everyone should know
10 Laravel packages everyone should know
ย 
Hack the Future
Hack the FutureHack the Future
Hack the Future
ย 
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 overview
Laravel overviewLaravel overview
Laravel overview
ย 
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 - The PHP Framework for Web Artisans
Laravel - The PHP Framework for Web ArtisansLaravel - The PHP Framework for Web Artisans
Laravel - The PHP Framework for Web Artisans
ย 
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
Laravel Starter Kit | Laravel Admin Template-ChandraAdmin
ย 
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
An Introduction to the Laravel Framework (AFUP Forum PHP 2014)
ย 
All the Laravel Things โ€“ Up & Running to Making $$
All the Laravel Things โ€“ Up & Running to Making $$All the Laravel Things โ€“ Up & Running to Making $$
All the Laravel Things โ€“ Up & Running to Making $$
ย 
php[world] 2015 Training - Laravel from the Ground Up
php[world] 2015 Training - Laravel from the Ground Upphp[world] 2015 Training - Laravel from the Ground Up
php[world] 2015 Training - Laravel from the Ground Up
ย 

Viewers also liked

Laravel Webcon 2015
Laravel Webcon 2015Laravel Webcon 2015
Laravel Webcon 2015Tim Bracken
ย 
Laravel 5
Laravel 5Laravel 5
Laravel 5Rik Heywood
ย 
Amp your site an intro to accelerated mobile pages
Amp your site  an intro to accelerated mobile pagesAmp your site  an intro to accelerated mobile pages
Amp your site an intro to accelerated mobile pagesRobert McFrazier
ย 
Zend Framework Foundations
Zend Framework FoundationsZend Framework Foundations
Zend Framework FoundationsChuck Reeves
ย 
Create, test, secure, repeat
Create, test, secure, repeatCreate, test, secure, repeat
Create, test, secure, repeatMichelangelo van Dam
ย 
Adding 1.21 Gigawatts to Applications with RabbitMQ (Bulgaria PHP 2016 - Tuto...
Adding 1.21 Gigawatts to Applications with RabbitMQ (Bulgaria PHP 2016 - Tuto...Adding 1.21 Gigawatts to Applications with RabbitMQ (Bulgaria PHP 2016 - Tuto...
Adding 1.21 Gigawatts to Applications with RabbitMQ (Bulgaria PHP 2016 - Tuto...James Titcumb
ย 
Engineer - Mastering the Art of Software
Engineer - Mastering the Art of SoftwareEngineer - Mastering the Art of Software
Engineer - Mastering the Art of SoftwareCristiano Diniz da Silva
ย 
Git Empowered
Git EmpoweredGit Empowered
Git EmpoweredJason McCreary
ย 
Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:win Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:win Joe Ferguson
ย 
Dip Your Toes in the Sea of Security
Dip Your Toes in the Sea of SecurityDip Your Toes in the Sea of Security
Dip Your Toes in the Sea of SecurityJames Titcumb
ย 
Code Coverage for Total Security in Application Migrations
Code Coverage for Total Security in Application MigrationsCode Coverage for Total Security in Application Migrations
Code Coverage for Total Security in Application MigrationsDana Luther
ย 
Presentation Bulgaria PHP
Presentation Bulgaria PHPPresentation Bulgaria PHP
Presentation Bulgaria PHPAlena Holligan
ย 
Conscious Coupling
Conscious CouplingConscious Coupling
Conscious CouplingCiaranMcNulty
ย 
SunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQLSunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQLGabriela Ferrara
ย 
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix ItPHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix ItMatt Toigo
ย 
200K+ reasons security is a must
200K+ reasons security is a must200K+ reasons security is a must
200K+ reasons security is a mustMichelangelo van Dam
ย 
Intermediate OOP in PHP
Intermediate OOP in PHPIntermediate OOP in PHP
Intermediate OOP in PHPDavid Stockton
ย 
Enough suffering, fix your architecture!
Enough suffering, fix your architecture!Enough suffering, fix your architecture!
Enough suffering, fix your architecture!Luรญs Cobucci
ย 

Viewers also liked (20)

Laravel Webcon 2015
Laravel Webcon 2015Laravel Webcon 2015
Laravel Webcon 2015
ย 
Laravel 5
Laravel 5Laravel 5
Laravel 5
ย 
Amp your site an intro to accelerated mobile pages
Amp your site  an intro to accelerated mobile pagesAmp your site  an intro to accelerated mobile pages
Amp your site an intro to accelerated mobile pages
ย 
Zend Framework Foundations
Zend Framework FoundationsZend Framework Foundations
Zend Framework Foundations
ย 
Create, test, secure, repeat
Create, test, secure, repeatCreate, test, secure, repeat
Create, test, secure, repeat
ย 
Adding 1.21 Gigawatts to Applications with RabbitMQ (Bulgaria PHP 2016 - Tuto...
Adding 1.21 Gigawatts to Applications with RabbitMQ (Bulgaria PHP 2016 - Tuto...Adding 1.21 Gigawatts to Applications with RabbitMQ (Bulgaria PHP 2016 - Tuto...
Adding 1.21 Gigawatts to Applications with RabbitMQ (Bulgaria PHP 2016 - Tuto...
ย 
Engineer - Mastering the Art of Software
Engineer - Mastering the Art of SoftwareEngineer - Mastering the Art of Software
Engineer - Mastering the Art of Software
ย 
Git Empowered
Git EmpoweredGit Empowered
Git Empowered
ย 
Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:win Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:win
ย 
Dip Your Toes in the Sea of Security
Dip Your Toes in the Sea of SecurityDip Your Toes in the Sea of Security
Dip Your Toes in the Sea of Security
ย 
Code Coverage for Total Security in Application Migrations
Code Coverage for Total Security in Application MigrationsCode Coverage for Total Security in Application Migrations
Code Coverage for Total Security in Application Migrations
ย 
Presentation Bulgaria PHP
Presentation Bulgaria PHPPresentation Bulgaria PHP
Presentation Bulgaria PHP
ย 
Php extensions
Php extensionsPhp extensions
Php extensions
ย 
Conscious Coupling
Conscious CouplingConscious Coupling
Conscious Coupling
ย 
SunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQLSunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQL
ย 
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix ItPHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
PHP World DC 2015 - What Can Go Wrong with Agile Development and How to Fix It
ย 
200K+ reasons security is a must
200K+ reasons security is a must200K+ reasons security is a must
200K+ reasons security is a must
ย 
Modern sql
Modern sqlModern sql
Modern sql
ย 
Intermediate OOP in PHP
Intermediate OOP in PHPIntermediate OOP in PHP
Intermediate OOP in PHP
ย 
Enough suffering, fix your architecture!
Enough suffering, fix your architecture!Enough suffering, fix your architecture!
Enough suffering, fix your architecture!
ย 

Similar to All Aboard for Laravel 5.1

Laravel 5.5 dev
Laravel 5.5 devLaravel 5.5 dev
Laravel 5.5 devRocketRoute
ย 
Testing your application on Google App Engine
Testing your application on Google App EngineTesting your application on Google App Engine
Testing your application on Google App EngineInphina Technologies
ย 
Testing Your Application On Google App Engine
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App EngineIndicThreads
ย 
DevOps in PHP environment
DevOps in PHP environment DevOps in PHP environment
DevOps in PHP environment Evaldo Felipe
ย 
RichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile DevicesRichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile DevicesPavol Pitoลˆรกk
ย 
Laravel intallation
Laravel intallationLaravel intallation
Laravel intallationsandhya kumari
ย 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php PresentationAlan Pinstein
ย 
Harmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetHarmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetAchieve Internet
ย 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaAmazon Web Services
ย 
Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Pavel Kaminsky
ย 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...Jesse Gallagher
ย 
Gradle - time for a new build
Gradle - time for a new buildGradle - time for a new build
Gradle - time for a new buildIgor Khotin
ย 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GITPeople Strategists
ย 
Maven
MavenMaven
Mavenfeng lee
ย 
Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsJim Jeffers
ย 
Sinatra and friends
Sinatra and friendsSinatra and friends
Sinatra and friendsJiang Wu
ย 
Building Testable PHP Applications
Building Testable PHP ApplicationsBuilding Testable PHP Applications
Building Testable PHP Applicationschartjes
ย 
Enterprise Build And Test In The Cloud
Enterprise Build And Test In The CloudEnterprise Build And Test In The Cloud
Enterprise Build And Test In The CloudCarlos Sanchez
ย 
symfony on action - WebTech 207
symfony on action - WebTech 207symfony on action - WebTech 207
symfony on action - WebTech 207patter
ย 

Similar to All Aboard for Laravel 5.1 (20)

Laravel 5.5 dev
Laravel 5.5 devLaravel 5.5 dev
Laravel 5.5 dev
ย 
Testing your application on Google App Engine
Testing your application on Google App EngineTesting your application on Google App Engine
Testing your application on Google App Engine
ย 
Testing Your Application On Google App Engine
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App Engine
ย 
DevOps in PHP environment
DevOps in PHP environment DevOps in PHP environment
DevOps in PHP environment
ย 
Pyramid deployment
Pyramid deploymentPyramid deployment
Pyramid deployment
ย 
RichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile DevicesRichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile Devices
ย 
Laravel intallation
Laravel intallationLaravel intallation
Laravel intallation
ย 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
ย 
Harmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetHarmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and Puppet
ย 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
ย 
Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments Java 6 [Mustang] - Features and Enchantments
Java 6 [Mustang] - Features and Enchantments
ย 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
ย 
Gradle - time for a new build
Gradle - time for a new buildGradle - time for a new build
Gradle - time for a new build
ย 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GIT
ย 
Maven
MavenMaven
Maven
ย 
Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in Rails
ย 
Sinatra and friends
Sinatra and friendsSinatra and friends
Sinatra and friends
ย 
Building Testable PHP Applications
Building Testable PHP ApplicationsBuilding Testable PHP Applications
Building Testable PHP Applications
ย 
Enterprise Build And Test In The Cloud
Enterprise Build And Test In The CloudEnterprise Build And Test In The Cloud
Enterprise Build And Test In The Cloud
ย 
symfony on action - WebTech 207
symfony on action - WebTech 207symfony on action - WebTech 207
symfony on action - WebTech 207
ย 

More from Jason McCreary

BDD in iOS with Cedar
BDD in iOS with CedarBDD in iOS with Cedar
BDD in iOS with CedarJason McCreary
ย 
Patterns, Code Smells, and The Pragmattic Programmer
Patterns, Code Smells, and The Pragmattic ProgrammerPatterns, Code Smells, and The Pragmattic Programmer
Patterns, Code Smells, and The Pragmattic ProgrammerJason McCreary
ย 
Cache, Workers, and Queues
Cache, Workers, and QueuesCache, Workers, and Queues
Cache, Workers, and QueuesJason McCreary
ย 
21 Ways to Make WordPress Fast
21 Ways to Make WordPress Fast21 Ways to Make WordPress Fast
21 Ways to Make WordPress FastJason McCreary
ย 
21 Ways to Make WordPress Fast
21 Ways to Make WordPress Fast21 Ways to Make WordPress Fast
21 Ways to Make WordPress FastJason McCreary
ย 
Configuring WordPress for Multiple Environments
Configuring WordPress for Multiple EnvironmentsConfiguring WordPress for Multiple Environments
Configuring WordPress for Multiple EnvironmentsJason McCreary
ย 

More from Jason McCreary (6)

BDD in iOS with Cedar
BDD in iOS with CedarBDD in iOS with Cedar
BDD in iOS with Cedar
ย 
Patterns, Code Smells, and The Pragmattic Programmer
Patterns, Code Smells, and The Pragmattic ProgrammerPatterns, Code Smells, and The Pragmattic Programmer
Patterns, Code Smells, and The Pragmattic Programmer
ย 
Cache, Workers, and Queues
Cache, Workers, and QueuesCache, Workers, and Queues
Cache, Workers, and Queues
ย 
21 Ways to Make WordPress Fast
21 Ways to Make WordPress Fast21 Ways to Make WordPress Fast
21 Ways to Make WordPress Fast
ย 
21 Ways to Make WordPress Fast
21 Ways to Make WordPress Fast21 Ways to Make WordPress Fast
21 Ways to Make WordPress Fast
ย 
Configuring WordPress for Multiple Environments
Configuring WordPress for Multiple EnvironmentsConfiguring WordPress for Multiple Environments
Configuring WordPress for Multiple Environments
ย 

Recently uploaded

Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...SUHANI PANDEY
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
ย 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
ย 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
ย 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
ย 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...SUHANI PANDEY
ย 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...SUHANI PANDEY
ย 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
ย 
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445ruhi
ย 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
ย 
๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
ย 
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...Diya Sharma
ย 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
ย 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...SUHANI PANDEY
ย 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...SUHANI PANDEY
ย 
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort ServiceEnjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort ServiceDelhi Call girls
ย 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...roncy bisnoi
ย 

Recently uploaded (20)

Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
ย 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
ย 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
ย 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
ย 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
ย 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
ย 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
ย 
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
ย 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
ย 
๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
๐“€คCall On 7877925207 ๐“€ค Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
ย 
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
ย 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
ย 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
ย 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
ย 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
ย 
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort ServiceEnjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
ย 
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
ย 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
ย 

All Aboard for Laravel 5.1

  • 1. All Aboard for Laravel 5.1 Jason McCreary "JMac" @gonedark
  • 2. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 A short rant about frameworks Choose wisely and code carefully 2
  • 3. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Talk the Talk 1. Whatโ€™s New in Laravel 5.0 2. Upgrading from Laravel 4.2 3. Whatโ€™s New in Laravel 5.1 4. Whatโ€™s coming in Laravel 5.2 3
  • 4. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 The Goal โ€œTo get you familiar with the new features in Laravel so you are comfortable upgrading your projects to 5.1โ€ 4
  • 5. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Why Upgrade? โ€œLaravel 5.1 is the ๏ฌrst release of Laravel to receive long term support. Laravel 5.1 will receive bug ๏ฌxes for 2 years and security ๏ฌxes for 3 years.This support window is the largest ever provided for Laravel and provides stability and peace of mind for larger, enterprise clients and customers.โ€ 5
  • 6. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Whatโ€™s Newโ€ฆ In Laravel 5.0 6
  • 7. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 New Folder Structure โ€ข Follows PSR-4 naming conventions โ€ข App namespacing โ€ข Models live in the default namespace โ€ข Everything related to HTTP lives under Http/ (controllers, middleware, requests) โ€ข Views live outside the App namespace within resources/. 7
  • 8. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Folder Structure 8 4.2 5.0
  • 9. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 App Folder 9 4.2 5.0
  • 10. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Namespacing <?php namespace App;โ€จ โ€จ // ... โ€จ class User extends Model {โ€จ // ...โ€จ } 10
  • 11. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Namespacing <?php namespace AppHttpControllers;โ€จ โ€จ class HomeController extends Controller { โ€จ public function index()โ€จ {โ€จ return view('home');โ€จ }โ€จ } 11
  • 12. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Namespacing "autoload": {โ€จ "classmap": [โ€จ "app/commands",โ€จ "app/controllers",โ€จ "app/models",โ€จ "app/database/migrations",โ€จ "app/database/seeds",โ€จ "app/tests/TestCase.php"โ€จ ]โ€จ }, 12 "autoload": { "classmap": [ "database" ], "psr-4": { "App": "app/" } }, 4.2 5.0
  • 13. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 New Objects โ€ข Events are now objects, not strings! โ€ข Command objects allow simpler job processing โ€ข Requests are now objects โ€ข Middleware objects to replace Filters 13
  • 14. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Middleware โ€œHTTP middleware provide a convenient mechanism for ๏ฌltering HTTP requests entering your application.โ€ 14
  • 15. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Middleware <?php namespace AppHttpControllers;โ€จ โ€จ class HomeController extends Controller {โ€จ public function __construct()โ€จ {โ€จ $this->middleware('auth');โ€จ } // ...โ€จ } 15
  • 16. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Middleware <?php namespace AppHttpMiddleware; use Closure; class TimeoutMiddleware { public function handle($request, Closure $next) { if (abs(time() - $request->input(โ€˜ttlโ€™)) > 300) { return redirect('timeout'); } return $next($request); } } 16
  • 17. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Form Request Objects โ€œA simple way to customize request validation automatically.โ€ 17
  • 18. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Form Request Objects <?php namespace AppHttpRequests; class RegisterRequest extends FormRequest { public function rules() { return [ 'email' => 'required|email|unique:users', 'password' => 'required|confirmed|min:8' ]; } } 18
  • 19. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Controller Method Injection โ€œIn addition to constructor injection, you may now type-hint dependencies on controller methods. These objects will be resolved and available along with any route parameters.โ€ 19
  • 20. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Controller Method Injection public function register( RegisterRequest $request, RegistrationRepository $registration) { // ... } 20
  • 21. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 ControllerValidation "If FormRequests are a little too much, the Laravel 5 base controller now includes a ValidatesRequests trait.This trait provides a simple validate() method to validate incoming requests." 21
  • 22. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 ControllerValidation public function register(Request $request) { $this->validate($request, [ 'email' => 'required|email|unique:users', 'password' => 'required|confirmed|min:8' ]); } 22
  • 23. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Environment Con๏ฌguration โ€œLaravel 5 uses the DotEnv library to condense all con๏ฌguration values into a single .env ๏ฌle. These values get loaded into $_ENV and available through the env() helper method.โ€ 23
  • 24. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Environment Con๏ฌguration APP_ENV=localโ€จ APP_DEBUG=trueโ€จ APP_KEY=SomeRandomStringโ€จ โ€จ DB_HOST=localhostโ€จ DB_DATABASE=homesteadโ€จ DB_USERNAME=homesteadโ€จ DB_PASSWORD=secretโ€จ โ€จ CACHE_DRIVER=fileโ€จ SESSION_DRIVER=file 24 <?php return array( 'APP_KEY' => 'secretkey', ); 4.2 5.0
  • 25. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Environment Con๏ฌguration 25 <?phpโ€จ โ€จ return [ โ€จ 'debug' => env('APP_DEBUG'),โ€จ // ... โ€จ 'key' => env('APP_KEY', 'SomeRandomString'),โ€จ โ€จ // ...โ€จ ];
  • 26. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Artisan Updates โ€ข Now includes several make commands to generate common objects โ€ข tinker is now backed by Psysh for a more powerful REPL โ€ข route commands for listing and caching routes 26
  • 27. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Authentication โ€œUser registration, authentication, and password reset controllers are now included out of the box, as well as simple corresponding views.โ€ 27
  • 28. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 User Model (4.2) <?phpโ€จ โ€จ use IlluminateAuthUserTrait;โ€จ use IlluminateAuthUserInterface;โ€จ use IlluminateAuthRemindersRemindableTrait;โ€จ use IlluminateAuthRemindersRemindableInterface;โ€จ โ€จ class User extends Eloquent implements UserInterface, RemindableInterface {โ€จ โ€จ use UserTrait, RemindableTrait;โ€จ โ€จ protected $table = 'users';โ€จ protected $hidden = array('password', 'remember_token');โ€จ } 28
  • 29. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 User Model (5.0) <?php namespace App;โ€จ โ€จ use IlluminateAuthAuthenticatable;โ€จ use IlluminateDatabaseEloquentModel;โ€จ use IlluminateAuthPasswordsCanResetPassword;โ€จ use IlluminateContractsAuthAuthenticatable as AuthenticatableContract;โ€จ use IlluminateContractsAuthCanResetPassword as CanResetPasswordContract;โ€จ โ€จ class User extends Model implements AuthenticatableContract, CanResetPasswordContract {โ€จ โ€จ use Authenticatable, CanResetPassword;โ€จ โ€จ protected $table = 'users';โ€จ protected $fillable = ['name', 'email', 'password'];โ€จ protected $hidden = ['password', 'remember_token'];โ€จ } 29
  • 30. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Blade โ€œBy default, Laravel 5.0 escapes all output from both the {{ }} and {{{ }}} Blade directives. A new {!! !!} directive has been introduced to display raw, unescaped output.โ€ 30
  • 31. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Libraries and Packages โ€ข Laravel Elixir - asset management โ€ข Laravel Socialite - authentication with Oauth services โ€ข Flysystem - ๏ฌlesystem abstraction library โ€ข Laravel Scheduler - command manager 31
  • 32. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Upgrading Laravel From 4.2 to 5.0 32
  • 33. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Two Approaches โ€ข โ€œNew move-inโ€ โ€ข โ€œUpdate in-placeโ€ 33
  • 34. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 What to do? โ€œAs always, it depends. However, the documentation recommends migrating your 4.2 app to a new Laravel 5 app. So, new move-in it is.โ€ 34
  • 35. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Basic Steps 1. Create a new Laravel 5 app 2. Migrate con๏ฌguration 3. Move app ๏ฌles 4. Add namespacing 5. Review Bindings 6. Miscellaneous changes 7. Blade Tag changes 8. Update dependencies 9. Cross ๏ฌngers 35
  • 36. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Do not pass 5.0! โ€œGoing directly to 5.1 will make the migration more complicated as there are signi๏ฌcant changes between 5.0 and 5.1. Do not pass 5.0. Otherwise you will not collect $200 and you will go to jail.โ€ 36
  • 37. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Create new Laravel 5 app composer create-project laravel/laravel --prefer-dist 37
  • 38. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Create new Laravel 5 app composer global require โ€œlaravel/installer=~1.1โ€ laravel new project-name 38
  • 39. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Migrate Con๏ฌguration 1. Copy con๏ฌguration from your 4.2 appโ€™s env.php to .env 2. Compare con๏ฌgurations from your 4.2 appโ€™s config/ 3. Recreate environment con๏ฌgurations from your 4.2 appโ€™s config/env/ to.env 4. Update environment con๏ฌgurations to use env() 39
  • 40. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Migrate Con๏ฌguration โ€œBe sure to leave .env.example ๏ฌle in your project. It should contain placeholder values that will make it easy for other developers to copy and con๏ฌgure for their environment.โ€ 40
  • 41. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Migrate Con๏ฌguration โ€œWhen managing multiple environments, you may ๏ฌnd it easiest to create several .env ๏ฌles and symlink the .env within each environment.โ€ 41
  • 42. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Move Files 42 4.2 5.0
  • 43. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Move Files โ€ข routes.php to app/Http/routes.php โ€ข app/views to resources/views โ€ข app/database to database/ 43
  • 44. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Add namespace โ€œYou do not need to do this.You can keep everything in the global namespace and add the paths to the classmap just as in Laravel 4.2. However, not doing so carries over technical debt as your project will not truly follow Laravel 5.0โ€™s con๏ฌguration.โ€ 44
  • 45. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Add namespace <?php namespace AppHttpControllers;โ€จ โ€จ class YourController extends Controller { // ...โ€จ }โ€จ 45
  • 46. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Add namespace <?php namespace App;โ€จ โ€จ class YourModel extends Eloquent { // ...โ€จ }โ€จ 46
  • 47. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Review Bindings "Move any service container bindings from start/ global.php to the register method of the app/ Providers/AppServiceProvider.php ๏ฌle." 47
  • 48. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Miscellaneous Changes โ€ขSoftDeletingTrait is now SoftDeletes โ€ขUser Authentication changes โ€ขPagination method changes โ€ขOh yeah, and the Form and Html Facades are gone. 48
  • 49. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Blade Changes 1. Cry 2. Bargain 3. Face reality 4. Start changing every {{ }} to {!! !!} 5. Remove all blade comment tags {{-- --}} (you should have known better) 6. Smile 49
  • 50. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Update your dependencies "Review your dependencies then run composer update" 50
  • 51. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Cross ๏ฌngers 51
  • 52. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 201552
  • 53. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Questionsโ€ฆ Ask now! Cause weโ€™re moving to 5.1 53
  • 54. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Whatโ€™s Newโ€ฆ In Laravel 5.1 54
  • 55. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Project Updates โ€ข Long Term Support โ€ข Requires PHP > 5.5.9 โ€ข Follows PSR-2 โ€ข Updated Documentation โ€ข Uses openssl for encryption, instead of mcrypt 55
  • 56. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 App Folder 56 5.0 5.1
  • 57. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Event Broadcasting "makes it easy to broadcast your events over a websocket connection." 57
  • 58. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Middleware Parameters <?php namespace AppHttpMiddleware; use Closure; class RoleMiddleware { public function handle($request, Closure $next, $role) { if (!$request->user()->hasRole($role)) { // Redirect... } return $next($request); } } 58
  • 59. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Middleware Parameters Route::put( โ€˜post/{id}', ['middleware' => 'role:editor', function ($id) { // ... }] ); 59
  • 60. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Focus on Testing โ€ข Stronger integration testing โ€ข Model factories 60
  • 61. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Whatโ€™s Comingโ€ฆ In Laravel 5.2 61
  • 62. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Laravel 5.2 โ€ข Coming December 2015 โ€ข Route ๏ฌlters have been deprecated in preference of middleware. โ€ข *_fetch methods deprecated in favor of *_pluck 62
  • 63. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Resources โ€ข Whatโ€™s new in Laravel 5 Laracasts โ€ข Laravel Of๏ฌcial Upgrade Guide โ€ข Laravel In-Place Upgrade Guide โ€ข Whatโ€™s new in Laravel 5.1 Laracasts 63
  • 64. All Aboard for Laravel 5.1 - Jason McCreary - php[world] 2015 Questionsโ€ฆ @gonedark on Twitter 64