在 Laravel 4 的官方文档里介绍了如何快速的使用它来开始程序的开发。然而相对于如何快速的输出“Hello Word!”笔者更关心的,是在执行到“Hello Word!”这句代码之前程序都做了哪些事情,只有在理解了这个问题之后我们才能够更加深入的去完成开发,才能在出现问题的时候有的放矢,“能用 Laravel 开发”跟“会用 Laravel 开发”毕竟是两码事。
下面安照执行顺序列出了 Laravel 在启动过程中加载的文件,以及在文件中主要执行的一些操作,附带的链接将为大家展示每一个文件的源码注释,以帮助理解。
01. public/index.php [-查看源文件-]
02. bootstrap/autoload.php[-查看源文件-]
03. Illuminate/Support/helpers.php(载入内置函数)[-请参考官方文档-]
bootstrap/compiled.php(载入编译文件)
注册 Workbench 加载机制
04. bootstrap/start.php[-查看源文件-]
实例化应用程序 $app
检测应用程序运行环境
05. bootstrap/paths.php(绑定应用程序相关文件路径)[-查看源文件-]
此文件定义了4个应用路径,可用以下方法取得:
app_path() public_path() base_path() storage_path()
定义框架目录
06. Illuminate/Foundation/start.php(载入框架启动文件)[-查看源文件-]
注册配置文件目录 app_path('config')
07. 载入全局启动文件 app_path('start/global.php')[-查看源文件-]
注册类加载目录
定义日志文件名格式
注册需要使用的日志文件路径
绑定应用程序错误处理程序 HTTP 状态码500
绑定维护模式处理程序 HTTP 状态码503
绑定404错误处理程序
08. 载入过滤器 app_path('filters.php') [-查看源文件-]
注册应用程序事件 App::before App::after
注册过滤器 Route::filter
09. 载入运行环境启动文件 app_path('start/{$env}.php')
10. 载入路由文件 app_path('routes.php')
$app->run()