Laravel11 eventコマンド
この記事は Laravel11にあるartisanコマンドを全部調べる Advent Calendar 2024 10日目の記事です。
今回はeventコマンドについて調べました。
環境
- PHP 8.4.1
- laravel/laravel 11.3.3
- laravel/framework 11.33.2
event:cache
イベントクラス、リスナクラスのキャッシュファイルを作成する。
php artisan event:cache
実行するとイベントクラス、リスナクラスを1つにまとめたキャッシュファイル(bootstrap/cache/events.php)を作成します。
event:clear
キャッシュファイルを削除する。
php artisan event:clear
実行するとevent:cacheコマンドで作成したキャッシュファイル(bootstrap/cache/events.php)を削除します。
キャッシュファイルが存在している間はイベントクラス、リスナクラスを追加しても自動反映しないので必ずevent:clearコマンドを実行する必要があります。
(イベントの手動登録を行なっている場合はキャッシュファイルの有無は関係ないので反映します。)
event:list
イベントクラス、リスナクラスの一覧を表示する。
php artisan event:list
実行するとイベントクラス、リスナクラスの一覧が表示します。
オプション | 説明 |
---|---|
--event[=EVENT] |
イベントクラス名を指定 |
-
--event
にイベントクラス名を指定すると該当イベントクラスのみ表示します。
event:generate
不足しているイベントクラス、リスナクラスを作成する。
php artisan event:generate
実行するとLaravel10まではapp/Providers/EventServiceProvider.phpの$listenプロパティの配列に追加した未作成のイベントクラス、リスナクラスを作成します。
Laravel11からはapp/Providers/EventServiceProvider.phpが削除されたことで$listenプロパティに追加できないので実行はできますが何も起こらないです。
代わりmake:eventコマンド、make:listenerコマンドを使ってクラスを作成します。
また、event:generateコマンドは下記のプルリクエストの対応により、Laravel11ではlistコマンドを実行しても一覧には表示しないです。
Discussion