- 博客(5)
- 收藏
- 关注
原创 laravel RouteServiceProvider注册和引导过程(另一部分)
if ($this->isBooted()) {//默认false,猜测此处在注册reffer providers时为true。以上说明,Route::middleware('web')->group(base_path('routes/web.php'));::通过ProviderRepository实例的load方法调用$this->app->register($provider);是在provider booted之后,app booted之前执行。
2023-06-20 15:44:33 233
原创 laravel服务提供者
任何服务提供者的 boot () 方法都会在全部服务提供者注册之后运行。那也就可以保证在 boot () 方法中,可以使用全部的注册服务。::另一部分::,是在内核 Kernel 处理请求前,会绑定一些基础功能服务提供者。// 注册完毕后,在启动boot服务提供者,触发全部服务提供者的boot()方法。// 先启动注册服务提供者,触发服务提供者的register()方法。::服务提供者::,其实就是用来完成服务绑定的独立功能类,// 注册基础服务提供者。
2023-06-20 15:43:02 119
原创 laravel Facades
每个Facade都继承Facade父类,通过__callStatic方法中getFacadeRoot方法获得具体功能类的实例,再调用其方法。AliasLoader的load方法注册别名,load方法通过spl_autoload_register注册到自动加载队列之首。在底层实现,辅助函数 cache 实际是调用 Cache 这个 Facade 的 get 方法。然而,在使用 Facades 时必须小心,Facades 的主要危险是类的「作用域泄漏」
2023-06-20 15:42:25 66
原创 laravel生命周期(v10)
最后,一旦响应通过中间件返回,HTTP 内核的 handle 方法将返回响应对象,并且 index.php 文件在返回的响应上调用 send 方法。最最后,如果你在中间件上定义了一个 terminate 方法,并且你的 Web 服务器使用 FastCGI,则在将响应发送到浏览器后会自动调用 terminate 方法。如果请求通过了所有匹配路由分配的中间件,则执行路由或控制器方法,并。路由器将请求发送到路由或控制器,并运行任何路由特定的中间件。一些中间件被分配给应用程序中的所有路由,比如那些在。
2023-06-20 15:30:35 121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人