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