vlambda博客
学习文章列表

Laravel 运行原理分析与源码分析,底层看这篇足矣

学Laravel
8年PHP老码农与你分享laravel学习笔记与学习技巧,方法!
10篇原创内容
Official Account


学习与交流:


文章摘要

make方法从容器中解析指定的值为实际的类,比如$app->make(Illuminate\Contracts\Http\Kernel::class) 解析出 App\Http\Http.php

handle方法对http请求进行处理

实际上是handle中的sendRequestThroughRouter处理的http请求

首先,将request绑定到共享实例

然后执行bootstarp方法,运行给定的引导类数组$bootstrappers,这里很关键,包括了加载配置文件、环境变量、服务提供者(config/app.php中的providers)、门面、异常处理、引导提供者

之后,进入管道模式,经过中间件的处理过滤后,再进行用户请求的分发

在请求分发时,首先,查找与给定请求匹配的路由,然后执行runRoute方法,实际处理请求的是runRoute 方法中的runRouteWithinStack

然后,经过runRouteWithinStack中的run方法,将请求分配到实际的控制器中,并得到响应结果


文章内容

点击“阅读原文”, 查看本文完整内容,并且获取相关教程