在 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()