Events 提供了一個簡單的觀察者實現,允許使用者訂閱和監聽 Web 應用程式中觸發的各種事件。 Laravel 中的所有事件類別都儲存在app/Events資料夾中,監聽器儲存在app/Listeners資料夾中。
用於在 Web 應用程式中產生事件和監聽器的 artisan 命令如下所示 -
php artisan event:generate
此命令將事件和偵聽器產生到上面討論的各個資料夾。
事件和偵聽器是解耦 Web 應用程式的一種好方法,因為一個事件可以有多個獨立的偵聽器彼此的。 artisan 指令所建立的 events 資料夾包含以下兩個檔案:event.php 和 SomeEvent.php。它們顯示在這裡 -
登入後複製
如上所述,event.php包含類別Event的基本定義以及對命名空間AppEvents的呼叫。請注意,使用者定義或自訂事件是在此文件中建立的。
登入後複製
觀察該檔案在 Web 應用程式中使用序列化來廣播事件,並且必要的參數也在該檔案中初始化。
例如,如果我們需要在建構子中初始化 order 變數來註冊事件,我們可以以下方式執行 -
public function __construct(Order $order) { $this->order = $order; }
監聽器處理正在註冊的事件中提到的所有活動。 artisan 指令event:generate在app/listeners目錄中建立所有listeners。 Listeners 資料夾包含一個檔案EventListener.php,其中包含處理偵聽器所需的所有方法。
登入後複製
程式碼中提到,它包含handle用於管理各種事件的函數。我們可以建立針對單一事件的各種獨立偵聽器。
以上是Laravel - 事件處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!