当前位置: 首页 > 后端技术 > PHP

记录学习笔记(Laravel中的事件监听)

时间:2023-03-29 13:38:29 PHP

1.什么是“事件监控”?从字面上看,无非就是监听一个事件。2.使用场景例句物流配送场景:我有一个小程序商城。用户下单后,需要在后台进行配送。发货完成后,我想在微信上发一个模块通知,提醒用户。我想过这个问题。如果登录微信或者关闭消息提示,岂不是可以实时通知用户快件已经送达?我决定添加一条短信来通知用户。有了模块通知,短信通知后我觉得还不够。。。然后继续补充。。。通常我们会这样写:切换到项目根目录->使用artisan命令创建一个事件监听文件phpartisanmake:eventOrderEvent执行完成命令,发现在app/Events目录下有一个OrderEvent.php文件,我们可以打开看看...user=$user;}/***获取事件应该广播的频道。**@return\Illuminate\Broadcasting\Channel|array*/publicfunctionbroadcastOn(){returnnewPrivateChannel('频道名称');}}3.2绑定事件打开app/Providers/EventServiceProvider.php文件,找到成员属性listen下:protected$listen=[Registered::class=&g吨;[SendEmailVerificationNotification::class,],];关联事件,改成:protected$listen=[Registered::class=>[SendEmailVerificationNotification::class,],'App\Events\OrderEvent'=>['App\Listeners\sendModel','App\Listeners\sendPhone',]];然后打开终端,执行artisan命令生成监听文件phpartisanevent:generate然后我们可以在app/Listeners文件下找到另外两个文件打开这两个文件,依次修改:sendModel.php:user;//@todo:当前用户//@todo:发送消息模板逻辑dump('发送消息模板成功');}}sendPhone.php:user;//@todo:当前用户//@todo:发送短信dump('短信发送成功');}}3.3最后我们打开OrderController.php,修改为: