laravelのイベントとオブザーバーについて一緒に学びましょう!

藏色散人
リリース: 2021-08-18 09:01:53
転載
2167 人が閲覧しました

次のコラムlaravel チュートリアルでは、laravel のイベントとオブザーバーについて紹介します。

1: イベントとリスナー

イベントは比較的広い用語であり、実行されるアクションを表すことができます。イベントとともに表示されるのはリスナーです。リスナーは、ユーザーの行動を監視し、その後の動作に対する処理を実行するために使用されます。
イベント システムは、単一のイベントに互いに独立した複数のリスナーを持つことができるため、アプリケーションのさまざまな側面を分離する優れた方法を提供します。たとえば、注文が発送されるたびにユーザーに通知を送信することができます。注文処理コードを通知コードに結合する代わりに、リッスンできるイベントを作成できます。

イベント:
Laravel フレームワークがイベントを作成したい場合は、次のコマンドを使用して作成できます。

php artisan make:event 事件名称
ログイン後にコピー

ファイルは次の場所に保存されます。 app/Events ディレクトリ。

Listener:

リスナーの作成は、次のコマンドを使用して作成できます:

php artisan make:listener 监听器名称
ログイン後にコピー

Registration:

イベントとリスナーを作成したら、それらを結合する必要があります。これを EventServiceProvider サービス プロバイダーに登録できます。次のように:

protected $listen = [ 事件名称 => [ 监听器名称, . ], ];
ログイン後にコピー

Distribution

event(new TestEvent());
ログイン後にコピー

2: モデル イベント

モデル イベントは、モデル専用に追加された追加機能です。対応するイベントとリスナーを作成します。モデル イベントを使用するときは、モデルによって与えられたルールに従う必要があります。

  • retrieved: モデル インスタンスを取得した後にトリガーされます
  • creating: データベースに挿入する前にトリガーされます。
  • created: データベースへの挿入後にトリガー
  • #updating: データベースへの更新前にトリガー
  • ##updated: データベースへの更新後にトリガー
  • ##saving:データベースに保存する前にトリガーされます (挿入/更新前は、挿入または更新に関係なくトリガーされます)
  • saved: データベースに保存された後にトリガーされます (挿入/更新後、挿入または更新に関係なくトリガーされます)
  • deleting: データベースからレコードを削除する前にトリガーされます
  • deleted: データベースからレコードを削除した後にトリガーされます
  • restoreing: 論理的に削除されたレコードを復元する前にトリガーされます
  • restored: 論理的に削除されたレコードの復元後にトリガーされます
  • モデルでバインドする必要があります
protected $dispatchesEvents = [ 'saving' => \App\Events\TestEvent::class, // 'updated' => \App\Events\TestEvent::class, ];
ログイン後にコピー

3: オブザーバー

イベントが必要ですリスナーの数が増えると登録する必要があり、面倒なのでオブザーバーの使用を検討します。モデル上で複数のイベントをリッスンしている場合は、オブザーバーを使用してこれらのリスナーを別のクラスに編成できます。

オブザーバーの使用:

次のコマンドを使用してオブザーバーを作成できます:

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jianshu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!