路由是 Laravel 非常的功能,通過路由檔案,你可以獲得應用的俯瞰視角,以及一份顯示 URL 和程式碼檔案對應關係的地圖。
預設情況下,Laravel 提供了一個方便的命令 php artisan route:list ,用於在終端中以表格方式列出你的路由。這裡再向您推薦一個第三方包 Pretty routes ,提供通過瀏覽器檢視路由的方式。
Pretty Routes 安裝
首先,通過 Composer 安裝 Pretty routes:
composer require garygreen/pretty-routes
然後在 config/app.php 新增它的 Service provider :
'providers' => [
...
PrettyRoutes\ServiceProvider::class,
最後一步,生成它的配置檔案,以方便你自己按需要調整配置:
php artisan vendor:publish --provider="PrettyRoutes\ServiceProvider"
就這些,Laravel 安裝第三方包步驟的老三樣。
Pretty routes 綜述
開啟 Pretty routes 的配置檔案 config/pretty-routes.php,你會看到以下內容:
return [
/**
* The endpoint to access the routes.
*/
'url' => 'routes',
/**
* The methods to hide.
*/
'hide_methods' => [
'HEAD',
],
];
首先,'url' 用於指定你訪問 Pretty routes GUI 的路徑。然後,你想在顯示的路由中隱藏特定的 HTTP 方法,你可以將方法新增在 'hide_methods' 陣列中。
現在你可以在瀏覽器中訪問 Pretty routes URL,來檢視應用的路由啦。你可以看到一個更好看的路由列表,並且顯示出每一條路由的 HTTP 方法、路徑、名稱、動作,和生效的中介軟體。
該包會檢視 app.debug 設定的值,僅在你的應用處於 debug 模式時才顯示路由。
核心
如果你想知道 Pretty routes 如何工作的,可以檢視 pretty-routes/src/MainMiddleware.php 程式碼檔案:
在第18行有一個條件判斷,它檢查請求的 URL 是否等於你為訪問 Pretty routes 所指定的路由。如果是,則使用 getRoutes 方法讀取所有路由並且填充路由變數,然後將變數傳入 Pretty routes 檢視檔案。最後,檢視會通過一些列的 foreach 語句和格式化操作,構造出你在瀏覽器中看到的那個好看的路由列表。