次のコラムlaravel チュートリアルでは、laravel のイベントとオブザーバーについて紹介します。
1: イベントとリスナー
イベントは比較的広い用語であり、実行されるアクションを表すことができます。イベントとともに表示されるのはリスナーです。リスナーは、ユーザーの行動を監視し、その後の動作に対する処理を実行するために使用されます。
イベント システムは、単一のイベントに互いに独立した複数のリスナーを持つことができるため、アプリケーションのさまざまな側面を分離する優れた方法を提供します。たとえば、注文が発送されるたびにユーザーに通知を送信することができます。注文処理コードを通知コードに結合する代わりに、リッスンできるイベントを作成できます。
イベント:
Laravel フレームワークがイベントを作成したい場合は、次のコマンドを使用して作成できます。
php artisan make:event 事件名称
ファイルは次の場所に保存されます。 app/Events ディレクトリ。
Listener:
リスナーの作成は、次のコマンドを使用して作成できます:
php artisan make:listener 监听器名称
Registration:
イベントとリスナーを作成したら、それらを結合する必要があります。これを EventServiceProvider サービス プロバイダーに登録できます。次のように:
protected $listen = [ 事件名称 => [ 监听器名称, . ], ];
Distribution
event(new TestEvent());
2: モデル イベント
モデル イベントは、モデル専用に追加された追加機能です。対応するイベントとリスナーを作成します。モデル イベントを使用するときは、モデルによって与えられたルールに従う必要があります。
protected $dispatchesEvents = [ 'saving' => \App\Events\TestEvent::class, // 'updated' => \App\Events\TestEvent::class, ];
イベントが必要ですリスナーの数が増えると登録する必要があり、面倒なのでオブザーバーの使用を検討します。モデル上で複数のイベントをリッスンしている場合は、オブザーバーを使用してこれらのリスナーを別のクラスに編成できます。
オブザーバーの使用:次のコマンドを使用してオブザーバーを作成できます:
php artisan make:observer
モデルに直接関連付けたい場合は、モデルに関連付けるパラメーターを直接追加することもできます:
php artisan make:observer UserObserver --model=User
サービス プロバイダーに登録する
User::observe(UserObserver::class);
public static function booted() { self::observe(UserObserver::class); }
最新の 5 つの Laravel ビデオ チュートリアル
以上がlaravelのイベントとオブザーバーについて一緒に学びましょう!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。