[翻譯] 這個包可以讓你在瀏覽器上檢視路由

茄子發表於2017-01-24

路由是 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 方法、路徑、名稱、動作,和生效的中介軟體。

file

該包會檢視 app.debug 設定的值,僅在你的應用處於 debug 模式時才顯示路由。

核心

如果你想知道 Pretty routes 如何工作的,可以檢視 pretty-routes/src/MainMiddleware.php 程式碼檔案:

file

在第18行有一個條件判斷,它檢查請求的 URL 是否等於你為訪問 Pretty routes 所指定的路由。如果是,則使用 getRoutes 方法讀取所有路由並且填充路由變數,然後將變數傳入 Pretty routes 檢視檔案。最後,檢視會通過一些列的 foreach 語句和格式化操作,構造出你在瀏覽器中看到的那個好看的路由列表。

Night gathers, and now my watch begins.

相關文章