實例詳解Laravel事件監聽
本篇文章為大家帶來了關於laravel的相關知識,其中主要介紹了關於事件監聽的相關問題,實現事件監聽的步驟是創建事件、創建監聽、綁定事件與監聽接著觸發事件,以下根據範例一起來看一下,希望對大家有幫助。
【相關推薦:laravel影片教學】
Laravel Event & Listener 事件監聽機制,讓開發者不光是可以把程式碼組織得更有條理的手段,而且也是對現實社會運作規則的高度抽象化映射,我們的現實社會本來也是這樣,我們監控事物的變化,並對變化做出反應,讓事物的發展按照我們的預期發展。當現實映射到程式碼邏輯時,事件及其處理邏輯通常是分開的,畢竟不是所有的事件我們都需要馬上進行回應處理。結合隊列,我們可以把事件的監聽處理的工作流程做到更完美。
使用案例:
監聽log日誌檔案大小變更
使用者登入:記錄使用者登入次數、記錄存取相關資訊
實作事件監聽步驟:
1、建立事件:event
2、建立監聽:listener
3、綁定事件與監聽
4、觸發事件
一、手動建立事件與監聽
1、建立登入事件:event
app/Events/UserLogin.php
php artisan make:event UserLogin//获取用户信息实例 public function __construct(User $user){ $this->user = $user;}
2、建立用戶登入郵件發送監聽,同時綁定UserLogin登入事件:listener
app/Listeners/EmailAdminUserLogin.php
php artisan make:listener EmailAdminUserLogin --event=UserLogin //日志打印登录用户信息public function handle(UserLogin $event) {// dd($event); //日志打印登录用户信息 Log::info($event->user->name . '已经登录'); }
3、註冊事件與監聽綁定關係
一個事件可以對應多個監聽
app/Providers/EventServiceProvider.php
protected $listen = [ 'App\Events\UserLogin' => [ 'App\Listeners\EmailAdminUserLogin', ],];
4、在使用者登入時觸發事件
app/Http/Controllers/Auth/LoginController.php
//覆写AuthenticatesUsers类的authenticated方法protected function authenticated(Request $request, $user){ //触发事件 event(new UserLogin($user));}
二、快速產生事件與監聽
這裡會根據app/Providers/EventServiceProvider.php中屬性listen產生對應的事件與監聽
php artisan event:generate
【相關推薦: laravel影片教學】
以上是實例詳解Laravel事件監聽的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel - Artisan 指令 - Laravel 5.7 提供了處理和測試新指令的新方法。它包括測試 artisan 命令的新功能,下面提到了演示?

Laravel - Artisan Console - Laravel 框架提供了三種主要的命令列互動工具,分別是:Artisan、Ticker 和 REPL。本章詳細介紹了 Artisan。

Laravel - 分頁自訂 - Laravel 包含分頁功能,可協助使用者或開發人員包含分頁功能。 Laravel 分頁器與查詢產生器和 Eloquent ORM 整合。自動分頁方法

Laravel郵件發送失敗時的退信代碼獲取方法在使用Laravel開發應用時,經常會遇到需要發送驗證碼的情況。而在實�...

Laravel計劃任務運行無響應排查在使用Laravel的計劃任務調度時,不少開發者會遇到這樣的問題:schedule:run...

在dcatadmin(laravel-admin)中如何實現自定義點擊添加數據的表格功能在使用dcat...

Laravel - 轉儲伺服器 - Laravel 轉儲伺服器隨 Laravel 5.7 版本提供。先前的版本不包括任何轉儲伺服器。轉儲伺服器將成為 laravel/laravel Composer 檔案中的開發依賴項。
