Laravel_V4_boot
2016-05-10 14:20:57 2 举报
Laravel 4 boot生命周期
作者其他创作
大纲/内容
Loads routes
Register Alias Loader
Calls booted callbacks
Start Application
Run application
Load application start script
Enable HTTP Method Override
1.应用程序的所有请求都经由 public/index.php 脚本处理。如果使用的是 Apache 服务器,Laravel中包含的 .htaccess 文件将对所有请求进行处理并传递给 index.php。此为Laravel从接受客户端请求到返回响应给客户端的整个过程的开始。2.当一个请求进入 index.php 文件,bootstrap/start.php 文件会被加载,并创建一个Laravel Application 对象,该对象同时作为框架的 IoC 容器。3.Application 对象创建完成后,框架会设置路径信息并运行 环境检测 ,然后执行位于Laravel源码内部的引导脚本,并根据你的配置文件设置时区、错误报告等。除了配置这些琐碎的配置选项以外,该脚本还会做一件非常重要的事情:注册所有为应用程序配置的服务提供器。简单的服务提供器只包含一个方法:register。当应用程序对象通过自身的 register 方法注册某个服务提供器时,会调用该服务提供器的 register 方法。服务提供器通过这个方法向 IoC 容器 注册一些东西。4.注册完服务提供器后,app/start 下的文件会被加载,然后app/routes.php 文件会被加载。一旦 routes.php 文件被加载,Request 对象就被发送给应用程序对象,继而被派发到某个路由上。总结上文如下:请求进入 public/index.php 文件。bootstrap/start.php 文件创建应用程序对象并检测环境。内部的 framework/start.php 文件配置相关设置并加载服务提供器。加载应用程序 app/start 目录下的文件。加载应用程序的 app/routes.php 文件。将 Request 对象发送给应用程序对象,应用程序对象返回一个 Response 对象。将 Response 对象发回客户端。
Ready to Dispatch
Start Exception Handling
app/start/global.php
bootstrap/start.php
Register Booted start files
app/start/{environment}.php
Load service providers
app/filters.php
Loads filters
Sets Timezone
larval/start.php
public/index.php
Boot service providers
Binds APP and Config
Build Stacked HTTP kernel
Handle middleware going down
larval/Application.php
Loads environment start script
Calls booting callbacks
0 条评论
回复 删除
下一页