【Laravel】artisanのroute:listコマンドを解説

チートシート

Laravelのartisanコマンド「route:list」を利用すると、プロジェクト内のすべてのルート情報を簡単に確認できます。本記事では、基本的な使い方から高度なオプションまで、具体例を交えて詳しく解説します。

Description

route:listはすべての登録済みルートを表示するための便利なコマンドです。
出力は「メソッド」「URI」「名前」「アクション」の順に表示されます。
オプションによってフィルターやソートもできますが、アクションでのフィルターはできないので、grepコマンドなどを利用して検索する必要があります。

特に、大規模なプロジェクトや複数のルートが存在する場合に効率的です。
また、route()で利用したいがname()で付けた名前を忘れた、resources()を利用たりgroup()などを利用して階層が深くなったりして名前が分からない場合によく利用します。

Usage

php artisan route:list [--json] [--method [METHOD]] [--name [NAME]] [--domain [DOMAIN]] [--path [PATH]] [--except-path [EXCEPT-PATH]] [-r|--reverse] [--sort [SORT]] [--except-vendor] [--only-vendor]

Options

オプション省略形必須説明
json--JSON形式で出力
method--メソッドでフィルタ
name--名前でフィルタ
domain--ドメインでフィルタ
path--指定したパスのパターンにマッチしたもののみ表示
except-path--指定したパスのパターンにマッチしたものは非表示
reverser-逆順で表示
sort--特定のキー(domain, method, uri, name, action, middleware)でソート
except-vendor--vendorパッケージで定義されているroutesは非表示
only-vendor--vendorパッケージで定義されているroutesのみ表示

Example

no options

php artisan route:list
  GET|HEAD  / .................................................................................................................... top › IndexController@index
  POST      _ignition/execute-solution ......................................... ignition.executeSolution › Spatie\LaravelIgnition › ExecuteSolutionController
  GET|HEAD  _ignition/health-check ..................................................... ignition.healthCheck › Spatie\LaravelIgnition › HealthCheckController
  POST      _ignition/update-config .................................................. ignition.updateConfig › Spatie\LaravelIgnition › UpdateConfigController
  :
  :

json

JSON形式で出力します。整形されていないので、バッチなどで利用したりする場合に使います。

php artisan route:list --json
[{"domain":null,"method":"GET|HEAD","uri":"\/","name":"healthCheck","action":"App\\Http\\Controllers\\HealthCheckController@index","middleware":["api"]},{"domain":null,"method":"POST","uri":"_ignition\/execute-solution","name":"ignition.executeSolution","action":"Spatie\\LaravelIgnition\\Http\\Controllers\\ExecuteSolutionController","middleware":["Spatie\\LaravelIgnition\\Http\\Middleware\\RunnableSolutionsEnabled"]},{"domain":null,"method":"GET|HEAD","uri":"_ignition\/health-check","name":"ignition.healthCheck","action":"Spatie\\LaravelIgnition\\Http\\Controllers\\HealthCheckController","middleware":["Spatie\\LaravelIgnition\\Http\\Middleware\\RunnableSolutionsEnabled"]},{"domain":null,"method":"POST","uri":"_ignition\/update-config","name":"ignition.updateConfig","action":"Spatie\\LaravelIgnition\\Http\\Controllers\\UpdateConfigController",

except-vendor

vendorパッケージで定義されているroutesを除外して表示します。
app/routes/api.phpapp/routes/web.phpで定義しているもの(デフォルトで/などが登録されている)のみ表示されます。

php artisan route:list --except-vendor
  GET|HEAD  / .................................................................................................................... top › IndexController@index
  :
  :

only-vendor

except-vendorとは逆で、vendorパッケージで定義されているroutesのみ表示します。
app/routes/api.phpapp/routes/web.phpで定義しているもの(デフォルトで/などが登録されている)は表示されません。

php artisan route:list --only-vendor
  POST      _ignition/execute-solution ignition.executeSolution › Spatie\LaravelIgnition › ExecuteSolutionController
  GET|HEAD  _ignition/health-check ........... ignition.healthCheck › Spatie\LaravelIgnition › HealthCheckController
  POST      _ignition/update-config ........ ignition.updateConfig › Spatie\LaravelIgnition › UpdateConfigController
:
:

コメント

タイトルとURLをコピーしました