1.首先根据服务器指向进入public\index.php 入口文件
2.使用Composer的自动加载功能,把所有需要使用的 PHP 文件添加到系统中以备调用
require __DIR__.'/../vendor/autoload.php';
创建 Laravel 应用容器对象 $app ( Service Container )
其实这个阶段就是设定。设定路径,注册基础绑定信息,注册基础 Service Provider 和 Aliases,而做这些工作的意义就是可以帮助我们更方便的访问和获取项目目录中的文件信息,加载配置文件,加载自定义的类,加载Service,aliases 定义了如何把开发框架中最基础的服务注册到 容器中
3.创建 Laravel 单例应用实例
$app = require_once __DIR__.'/../bootstrap/app.php';
创建 Laravel HTTP Kernel 核心,接收用户的网络请求,处理并返回响应结果主要负责以下几件事:
1)加载 .env 中的配置信息 \Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables::class
2)加载 config 目录中所有配置文件的配置信息 \Illuminate\Foundation\Bootstrap\LoadConfiguration::class
3)异常处理 \Illuminate\Foundation\Bootstrap\HandleExceptions::class
4)注册门面 \Illuminate\Foundation\Bootstrap\RegisterFacades::class
5)注册服务提供者 \Illuminate\Foundation\Bootstrap\RegisterProviders::class
6)注册启动器 \Illuminate\Foundation\Bootstrap\BootProviders::class
这部分会借助中间件来处理请求过滤和安全处理,
4.最关键的步骤,接受请求,对请求进行处理,返回请求处理的结果
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
这一部分执行的网络请求:
1)bootstrap环境变量检测,加载配置、注册门面、服务器提供者等
2)检测中间件是不是维护模式
3)遍历路由,寻找第一个路由做为当前网络的请求地址
4)检测路由是否可以通过中间件的检测
5)给递给控制器处理逻辑和闭包函数数据
5.请求结束,进行回调
$kernel->terminate($request, $response);
以上内容是作者终合整理的学习内容,由于小编技术有限,不合适还请多多原谅。