LaravelのArtisanは、コマンドラインから様々な操作を行うための強力なツールです。Artisanには多くのビルトインコマンドが用意されていますが、開発のニーズに応じてカスタムコマンドを作成することも可能です。以下では、カスタムArtisanコマンドの作成方法について詳しく説明します。
1. カスタムコマンドの作成手順
ステップ1:Artisanでコマンドを生成
以下のコマンドを実行して、カスタムコマンドのクラスファイルを生成します:
このコマンドにより、app/Console/Commands/SampleCommand.php というファイルが生成されます。
2. コマンドクラスの構造
生成された SampleCommand クラスには、以下のような構造があります:
各プロパティの意味
| プロパティ | 説明 |
|---|---|
$signature |
コマンド名と引数/オプションの定義(例:sample:run) |
$description |
php artisan list で表示される説明文 |
handle() |
コマンドが実行されたときに処理されるロジック |
3. コマンドの登録
Laravel 8以降では、生成されたコマンドは自動的に app/Console/Commands フォルダ内をスキャンして登録されます。もし自動登録が無効になっている場合やLaravel 7以前では、app/Console/Kernel.php の $commands プロパティに明示的に登録します:
4. コマンドの実行
ターミナルで以下のように入力して、コマンドを実行します:
5. 引数・オプションの定義(応用)
$signature に引数やオプションを定義することも可能です:
実行例:
出力:
まとめ
カスタムArtisanコマンドは、定期的な処理やデータ操作をCLIから簡単に実行するための手段として非常に便利です。以下のポイントを押さえることで、柔軟なコマンド設計が可能になります。
-
make:command で雛形を生成
-
$signature でコマンド名や引数を定義
-
handle() に処理ロジックを記述
-
必要に応じてKernelに登録
ChatGPT4o 生成日:2025/06/23