Laravel - イベント処理

王林
リリース: 2024-08-27 13:50:26
オリジナル
685 人が閲覧しました

イベントは、ユーザーが Web アプリケーションでトリガーされるさまざまなイベントをサブスクライブしてリッスンできるようにする単純なオブザーバー実装を提供します。 Laravel のすべてのイベント クラスはapp/Eventsフォルダーに保存され、リスナーはapp/Listenersフォルダーに保存されます。

Web アプリケーションでイベントとリスナーを生成するための職人コマンドを以下に示します -

php artisan event:generate
ログイン後にコピー

このコマンドは、上で説明したように、それぞれのフォルダーにイベントとリスナーを生成します。

Event Generator

1つのイベントが独立した複数のリスナーを持つことができるため、イベントとリスナーはWebアプリケーションを分離する優れた方法として機能します。お互いの。職人コマンドによって作成された events フォルダーには、event.php と SomeEvent.php の 2 つのファイルが含まれています。それらはここに表示されます -

Event.php


        
ログイン後にコピー

上で述べたように、event.phpにはクラスEventの基本定義が含まれており、名前空間AppEventsを呼び出します。ユーザー定義イベントまたはカスタム イベントがこのファイルに作成されることに注意してください。

SomeEvent.php


        
ログイン後にコピー

このファイルは、Web アプリケーションでイベントをブロードキャストするためにシリアル化を使用しており、必要なパラメーターもこのファイルで初期化されていることに注目してください。

たとえば、イベントを登録するためにコンストラクターで順序変数を初期化する必要がある場合、次のようにすることができます。次の方法で実行します -

public function __construct(Order $order) { $this->order = $order; }
ログイン後にコピー

リスナー

リスナーは、登録されているイベントで言及されているすべてのアクティビティを処理します。職人コマンドevent:generateは、app/listenersディレクトリにすべてのlistenersを作成します。 Listeners フォルダーには、リスナーの処理に必要なすべてのメソッドが含まれるファイルEventListener.phpが含まれています。

EventListener.php


        
ログイン後にコピー

コード内で述べたように、さまざまなイベントを管理するためのhandle関数が含まれています。単一のイベントを対象とするさまざまな独立したリスナーを作成できます。

以上がLaravel - イベント処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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