タイトル: ルーティング一覧の確認方法
以下のコマンドを実行することでLaravelのルーティング一覧を確認することが出来ます。アプリで定義されている全URL・HTTPメソッド・処理を担うコントローラを一望できるため、開発・デバッグ時の基本コマンドです。
基本コマンド
|
php artisan route:list |
プロジェクトルートで実行します。出力にはHTTPメソッド、URI、名前、コントローラ@メソッド、ミドルウェア等が並びます。
絞り込みオプション
| オプション | 用途 |
|---|---|
--method=GET | HTTPメソッドで絞り込み |
--name=user. | ルート名で絞り込み(部分一致) |
--path=api | URIパスで絞り込み(部分一致) |
--except-vendor | vendor配下から登録されたルートを除外 |
--only-vendor | vendor配下のルートだけ表示 |
--compact / -c | カラム圧縮表示 |
--json | JSON形式で出力(スクリプト連携向け) |
実行例
|
$ php artisan route:list --method=GET --path=user |
表示が崩れるとき
ターミナル幅が狭いと改行で表が崩れます。-c(コンパクト)か --json | jq がおすすめです。
|
$ php artisan route:list --json | jq '.[] | {method, uri, name}' |
ルートキャッシュとの関係
php artisan route:cacheはルート定義をコンパイル&キャッシュする本番向け最適化- キャッシュが残っていると、
route:listの結果がコード変更後と一致しないことがある - 開発中は
php artisan route:clearを実行してキャッシュをクリアする
|
$ php artisan route:clear |
関連
注意点
- 本番ではアプリ起動の高速化のため
route:cacheを打っておくのが定石。ただしキャッシュ後にルートを書き換えたら必ずroute:clear - クロージャ(無名関数)で定義されたルートは
route:cacheでエラーになる。本番向けはコントローラ参照に書き換える