Laravel框架的入口文件public/index.php
<?php
/**
* Laravel - A PHP Framework For Web Artisans
*
* @package Laravel
* @author Taylor Otwell <taylor@laravel.com>
*/
define('LARAVEL_START', microtime(true));
/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual
| loading any of our classes later on. It feels great to relax.
|
*/
require __DIR__.'/../vendor/autoload.php';
/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/
$app = require_once __DIR__.'/../bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
深入理解Laravel框架启动流程

本文详细介绍了Laravel框架的启动过程,从入口文件public/index.php开始,讲解了如何加载Composer自动加载器,创建Application实例,以及kernel类在处理HTTP请求时的角色。通过分析kernel的handle方法和sendRequestThroughRouter方法,揭示了框架如何通过中间件分发请求到路由。此外,还探讨了bootstrap方法中的启动步骤,包括调用服务容器的bootstrapWith方法,以及启动过程中涉及的类和功能,如加载环境变量、配置文件、异常处理、门面类注册和服务提供者等。
最低0.47元/天 解锁文章
2811

被折叠的 条评论
为什么被折叠?



