事件
2019-04-02 19:36:28    89    0    0
junjie
###什么是事件? 事情大概是这样的,需求要在用户注册的时候发一些帮助邮件给用户(原本用户在注册之后已经有发别的邮件的了,短信,IM什么的) 原来这个注册的方法也就10多行代码。但是有时候我们为了省事,直接在注册代码后面添加了各种代码。 例如这个注册方法本来是这样的 ``` [ // 发送广告邮件 'App\Listeners\SendAdMail', // 发送短信 'App\Listeners\SendSms', // 发送帮助信息 'App\Listeners\SendHelpInformation', ], ]; } ``` 这里是注册事件的入口,相当于一个总目录,这样就可以跟注册代码解耦了,以后要加东西我们就不需要再去看注册方法的代码了 现在注册完之后会触发这个App\Events\Register类,然后这个类会被App\Listeners\SendAdMail,App\Listeners\SendSms,App\Listeners\SendHelpInformation监听得到,我们进入app\Events目录,创建Register这个类 ``` uid = $uid; } } ``` 这样就可以了。 然后去app\Listeners目录创建各种要做的事件监听类。 ``` uid; $user = User::find($uid); //......各种实现 } } ``` 这个handle方法就是我们要做的具体实现了,有个很方便的功能就是如果implements ShouldQueue这个接口的话就会异步队列执行,如果去掉的话就是同步执行。很方便有没有,这样代码就解耦了,不需要再管注册代码了,在这里就能很方便的管理了。多人开发也是单独写自己的Listeners就可以了。 --- 来源: https://segmentfault.com/a/1190000010730545

上一篇: 安装、配置与优化

下一篇: PHP 数据库驱动、连接数据不同方式学习笔记

Table of content