从整体上来看(不考虑细节),Laravel流程相当简单,我们分析一下index.php文件(下面的第几行为实际代码,不是指文件的行)
第一行定义自动加载
require __DIR__.'/../bootstrap/autoload.php';
第二行产生一个Illuminate\Foundation\Application 实例
$app = require_once __DIR__.'/../bootstrap/app.php';
第三行通过产生一个HTTP内核实例App\Http\Kernel
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
第四行处理请求
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
第五行发送响应
$response->send();
最后执行一些中间件的terminate方法,扫尾工作
$kernel->terminate($request, $response);