一,綁定事件與監(jiān)聽器
在app\Providers下的EventServiceProvider.php中添加我們定義的事件與監(jiān)聽器
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
'App\ebvent\RegisterMessage'=>[//事件
'App\listeners\SendMessage'//監(jiān)聽器
],
];
二,生成事件 & 監(jiān)聽器
使用 event:generate 命令即可。這個命令會生成在 EventServiceProvider 中列出的所有事件和監(jiān)聽器。當(dāng)然,已經(jīng)存在的事件和監(jiān)聽器將保持不變:
php artisan event:generate
三,編寫業(yè)務(wù)邏輯
在App\ebvent\目錄下,打開你新創(chuàng)建的事件文件 RegisterMessage.php
public $teacher;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($teacher)
{
$this->teacher = $teacher;
//
}
?在App\listeners\目錄下,打開你新創(chuàng)建的監(jiān)聽器文件 SendMessage.php
/**
* Handle the event.
*
* @param \App\ebvent\RegisterMessage $event
* @return void
*/
public function handle(RegisterMessage $event)
{
Cache::add('name','張三');
//
}
四,在路由中使用事件
Route::get('listeners', function () {
$user = ['name' => 'peter'];
event(new \App\Event\RegisterMessage($user));
return 'ok';
});
當(dāng)我們訪問/listeners路由時,會把$user變量傳給事件,會執(zhí)行構(gòu)造方法,同時監(jiān)聽器也會執(zhí)行handle方法
在storage目錄下可以看到兩個緩存文件,說明事件和監(jiān)聽器起作用了
文章來源:http://www.zghlxwxcb.cn/news/detail-731343.html
實例:
實現(xiàn) 用戶登錄 & 登出系統(tǒng) 分別記錄 登錄 登出日志文章來源地址http://www.zghlxwxcb.cn/news/detail-731343.html
到了這里,關(guān)于laravel框架 - 事件與監(jiān)聽器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!