这是最后的一部分,终章,也是最难理解的。从《Laravel源码入门-启动引导过程(五)$kernel->handle($request)》开始,我们一直在下面代码所看到的 Foundation/Http/Kernel::sendRequestThroughRouter() 中的 $this->bootstrap(),都是引导的过程,最后一句 return (new Pipeline(.... 算是 laravel 真正启动的时候了。
请新手们,移步《理解Laravel中的pipeline》,作者写得很好,但请仔细阅读,因为 laravel 版本问题,作者所说代码与你本地使用的可能不同。
protected function sendRequestThroughRouter($request)
{
echo 'Foundation/Http/Kernel::sendRequestThroughRouter() <br />';
$this->app->instance('request', $request);
Facade::clearResolvedInstance('request');
$this->bootstrap();
// dump($request);
// dump($this->app->shouldSkipMiddleware());
// dump($this->middleware);
return (new Pipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
->then($this->dispatchToRouter());
}
====
剧终: Laravel源码入门-启动引导过程 <end>