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事件监听方法实例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。
当前名称:Laravel事件监听方法实例分析
本文路径:http://myzitong.com/article/iehppg.html