Eloquentのモデルのイベントをリスニングする

ドキュメントにも一応書いてあるけどなんか半端なので。

https://laravel.com/docs/5.6/eloquent#events https://readouble.com/laravel/5.5/ja/eloquent.html#events

  1. モデルの$dispatchesEventsに、['イベント名' => イベントクラス::class, ...]の形の配列を指定する。
  2. artisan make:eventなどで、イベントクラスを作る。必須のメソッドはコンストラクタだけ。make:eventではbroadcastOn()もできるけど、これはブロードキャスト用なので必要なとき以外は必要ない。

これだけでOK. Eloquentモデルのイベントをリスニングするだけなら、ほかでの登録などは不要。そこをねー、ちゃんとドキュメントに書いておいて欲しいんだが。$dispatchesEventsの挙動を。

コード的にはIlluminate\Database\Eloquent\Concerns\HasEventsに書いてある。