イベントは、ユーザーが Web アプリケーションでトリガーされるさまざまなイベントをサブスクライブしてリッスンできるようにする単純なオブザーバー実装を提供します。 Laravel のすべてのイベント クラスはapp/Eventsフォルダーに保存され、リスナーはapp/Listenersフォルダーに保存されます。
Web アプリケーションでイベントとリスナーを生成するための職人コマンドを以下に示します -
php artisan event:generate
このコマンドは、上で説明したように、それぞれのフォルダーにイベントとリスナーを生成します。
1つのイベントが独立した複数のリスナーを持つことができるため、イベントとリスナーはWebアプリケーションを分離する優れた方法として機能します。お互いの。職人コマンドによって作成された events フォルダーには、event.php と SomeEvent.php の 2 つのファイルが含まれています。それらはここに表示されます -
ログイン後にコピー
上で述べたように、event.phpにはクラスEventの基本定義が含まれており、名前空間AppEventsを呼び出します。ユーザー定義イベントまたはカスタム イベントがこのファイルに作成されることに注意してください。
ログイン後にコピー
このファイルは、Web アプリケーションでイベントをブロードキャストするためにシリアル化を使用しており、必要なパラメーターもこのファイルで初期化されていることに注目してください。
たとえば、イベントを登録するためにコンストラクターで順序変数を初期化する必要がある場合、次のようにすることができます。次の方法で実行します -
public function __construct(Order $order) { $this->order = $order; }
リスナーは、登録されているイベントで言及されているすべてのアクティビティを処理します。職人コマンドevent:generateは、app/listenersディレクトリにすべてのlistenersを作成します。 Listeners フォルダーには、リスナーの処理に必要なすべてのメソッドが含まれるファイルEventListener.phpが含まれています。
ログイン後にコピー
コード内で述べたように、さまざまなイベントを管理するためのhandle関数が含まれています。単一のイベントを対象とするさまざまな独立したリスナーを作成できます。
以上がLaravel - イベント処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。