先来张图大致理解下laravel的生命周期。
下面对应相应的代码,解释上图。
//文件路径:laravel/public/index.php
/**
* laravel的启动时间
*/
define('LARAVEL_START', microtime(true));
/**
* 加载项目依赖。
* 现代PHP依赖于Composer包管理器,入口文件通过引入由Composer包管理器。
* 自动生成的类加载程序,可以轻松注册并加载所依赖的第三方组件库。
*/
require __DIR__.'/../vendor/autoload.php';
/**
* 创建laravel应用实例。
*/
$app = require_once __DIR__.'/../bootstrap/app.php';
// 接受请求并响应
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
// 结束请求,进行回调
$response->send();
// 终止程序
$kernel->terminate($request, $response);/