Slide 1

Slide 1 text

Laravel 4 What happens in bootstraping Jace Ju @ KKBOX

Slide 2

Slide 2 text

 1.   (request) 2.  "  3. ! providers 4.   5.  filters  routers 6.  

Slide 3

Slide 3 text

 •  public/.htaccss  (Apache) • public/index.php •   •  bootstrap/start.php   •  

Slide 4

Slide 4 text

 Application: IoC Container //  provider   session  $app->bindShared('session', function($app) { return new SessionManager($app); }); //    session  $session = $app['session']; http://laravel.tw/docs/ioc http://www.jaceju.net/blog/archives/php-di-container/

Slide 5

Slide 5 text

  hostname   $env = $app->detectEnvironment([ 'local' => ['jace-note-book'], 'production' => ['web-machine-1', 'web-machine-2'], ]); testing    

Slide 6

Slide 6 text

    $env = $app->detectEnvironment(function () { return 'production'; }); http://blog.wu-boy.com/2014/08/laravel-application-environments-without-hostnames/

Slide 7

Slide 7 text

 •  bootstrap/paths.php •  Laravel Framework  start.php

Slide 8

Slide 8 text

Framework  •  Facades ", ) • '+&* app/config " • ( production +&*  # •  Exception • "% timezone • ).- $! http://laravel.tw/docs/facades

Slide 9

Slide 9 text

 providers •  app/config/app.php  providers  •  app/storage/meta/services.json  ( ) •  #   • "!  IoC container 

Slide 10

Slide 10 text

Provider  •  (Eager loading) •   (Event loading) •  console mode   (Deferred loading)

Slide 11

Slide 11 text

    app/start/global.php •  ! •  Log   •  Exception   •    • app/filters.php

Slide 12

Slide 12 text

    app/start/{env}.php  • app/start/local.php • app/start/production.php

Slide 13

Slide 13 text

 routers  app/routes.php •   (route) •   •  request  Controller • filter 

Slide 14

Slide 14 text

 • Request  IoC  •  request    Response  • Response  

Slide 15

Slide 15 text

 • Laravel  IoC Container  •  • Router / Request / Response  

Slide 16

Slide 16 text