- カテゴリ: artisan
- 対応バージョン: Laravel 11・12・PHP 8.2
- 名前空間 / FQCN / コマンド:
php artisan list - 関連:
help/route:list/about/tinker - 変更履歴: 主要オプション(
--raw/--format/--short)は Symfony Console 由来で継続提供。(Artisan, Symfony)
要点(TL;DR)
- すべて/特定名前空間の Artisan コマンドを一覧表示する
- 最低限の使い方:
php artisan list。詳細はphp artisan list makeや--format=jsonで機械可読に出力可。(Laravel, Artisan) - よくある罠
詳細概要
list は最も基本的なメタコマンドで、登録済みの Artisan コマンドをカテゴリ(名前空間)ごとに表示します。特定の名前空間を与えると、その配下のみを表示します。--format により txt / xml / json / md を選べるため、ドキュメント生成や CI の整合チェックにも有用です。(Laravel, Artisan)
構文 / シグネチャ
php artisan list [--raw] [--short] [--format=txt|xml|json|md] [namespace]
このコマンドは Symfony Console の list に準拠しており、上記オプション/引数をサポートします。 (Artisan, Symfony)
引数(表)
| 引数 | 型 | 必須 | 既定値 | 説明 |
|---|---|---|---|---|
namespace | string | いいえ | なし | 指定した名前空間のコマンドのみ表示(例: make) |
オプション(表)
| オプション | 値/型 | 必須 | 既定値 | 説明 |
|---|---|---|---|---|
--format | txt / xml / json / md | いいえ | txt | 出力フォーマット。機械可読な一覧に便利。(Artisan) |
--raw | boolean | いいえ | false | 装飾を外した生の一覧を出力。スクリプト埋め込み向け。(Symfony) |
--short | boolean | いいえ | false | 引数や説明を省いて簡潔に表示。(Artisan) |
戻り値:プロセス終了コード(0=成功/非0=失敗)。標準出力に一覧を出力。
例外/副作用:アプリ起動時に .env 読み込みなどの初期化が走るが、ファイル更新やDB変更などの副作用はなし。
使用例
最小例
# すべてのコマンドを表示
php artisan list
実務例
# make 名前空間だけに絞って確認
php artisan list make
# CI 用:JSON で保存して差分チェック
php artisan list --format=json > storage/meta/commands.json
# スクリプト処理:生の一覧を grep で確認
php artisan list --raw | grep '^route:list$' && echo "route:list あり"
--format=json / --raw はスクリプトやCIでの整合チェックに有効。 (Artisan, Symfony)
よくある落とし穴・注意
- フォーマット指定ミス:
--format=yamlなど未対応フォーマットはエラー。許可値はtxt/xml/json/md。(Artisan) - 色コード混入:CIでパースする場合は
--no-ansiを付けて制御文字を除去。(Symfony) - プラグイン/プロバイダ依存:一覧は登録状況に依存。ローカルと本番で差が出る場合は環境差(サービスプロバイダ有無)を確認。
代替・関連APIとの比較
help <command>:単一コマンドの詳細。マニュアル用途。(Laravel)route:list:アプリのルートを列挙(機能が別)。(Artisan)about:環境・拡張・設定を俯瞰。健全性チェック向け。(Laravel)
選定基準:
「何が使えるか」を素早く把握=list、
「特定コマンドのオプションを深掘り」=help、
「アプリの公開エンドポイント確認」=route:list。
テスト例(Pest)
<?php
use Illuminate\Support\Facades\Artisan;
it('outputs command list as JSON', function () {
Artisan::call('list', ['--format' => 'json', '--no-ansi' => true]);
$out = Artisan::output();
$json = json_decode($out, true);
expect($json)->toBeArray()
->and($json['commands'] ?? [])->not->toBeEmpty();
});
トラブルシュート(エラー別)
| 症状/エラー | 原因 | 対処 |
|---|---|---|
Unknown output format | --format が許可値外 | txt/xml/json/md のいずれかに修正。(Artisan) |
Could not open input file: artisan | プロジェクト直下で未実行 | ルート(artisan がある場所)で実行。 |
.env 読み込み関連の例外 | .env 構文ミス/必須値欠落 | .env を修正。ブート時例外が出ていないかログを確認。 |
参考リンク
- Laravel公式「Artisan Console」—
listの基本説明。(Laravel) - Artisan.page「list — List commands」— オプションとシグネチャ。(Artisan)
- Symfony Console「list」例 —
--raw/--formatの挙動。(Symfony)

