Laravel事件监听实现的步骤包括什么,怎么做
Admin 2022-06-16 群英技术资讯 1016 次浏览
在实际应用中,我们有时候会遇到“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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Workerman是一款纯PHP开发的开源高性能的异步PHP socket框架。支持TCP长连接,支持websocket、MQTT等诸多协议。今天我们来介绍一下Workerman中的reusePort属性,有需要的可以参考参考。
今天小编就为大家分享一篇使用laravel的Eloquent模型如何获取数据库的指定列,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
PHP垃圾回收机制怎样理解?新手对于PHP垃圾回收机制可能比较陌生,对其作用和用法都不是很了解,因此这篇文章就给大家来介绍一下PHP垃圾回收机制,感兴趣的朋友就接着往下看吧。
preg_match_all 函数: int preg_match_all ( string pattern, string subject, array matches [, int flags] )执行一个全局正则表达式匹配在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 f...
(PHP5>=5.3.0)goto 操作符可以用来跳转到程序中的另一位置。该目标位置可以用目标名称加上冒号来标记,而跳转指令是 goto 之后接上目标位置的标记。PHP中的 goto...
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008