Laravel - 事件處理

王林
發布: 2024-08-27 13:50:26
原創
744 人瀏覽過

Events 提供了一個簡單的觀察者實現,允許使用者訂閱和監聽 Web 應用程式中觸發的各種事件。 Laravel 中的所有事件類別都儲存在app/Events資料夾中,監聽器儲存在app/Listeners資料夾中。

用於在 Web 應用程式中產生事件和監聽器的 artisan 命令如下所示 -

php artisan event:generate
登入後複製

此命令將事件和偵聽器產生到上面討論的各個資料夾。

Event Generator

事件和偵聽器是解耦 Web 應用程式的一種好方法,因為一個事件可以有多個獨立的偵聽器彼此的。 artisan 指令所建立的 events 資料夾包含以下兩個檔案:event.php 和 SomeEvent.php。它們顯示在這裡 -

Event.php


        
登入後複製

如上所述,event.php包含類別Event的基本定義以及對命名空間AppEvents的呼叫。請注意,使用者定義或自訂事件是在此文件中建立的。

SomeEvent.php


        
登入後複製

觀察該檔案在 Web 應用程式中使用序列化來廣播事件,並且必要的參數也在該檔案中初始化。

例如,如果我們需要在建構子中初始化 order 變數來註冊事件,我們可以以下方式執行 -

public function __construct(Order $order) { $this->order = $order; }
登入後複製

監聽器

監聽器處理正在註冊的事件中提到的所有活動。 artisan 指令event:generateapp/listeners目錄中建立所有listeners。 Listeners 資料夾包含一個檔案EventListener.php,其中包含處理偵聽器所需的所有方法。

EventListener.php


        
登入後複製

程式碼中提到,它包含handle用於管理各種事件的函數。我們可以建立針對單一事件的各種獨立偵聽器。

以上是Laravel - 事件處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!