事件机制的实现有两种途径:通过监听、通过订阅
一、通过监听
1、创建监听类:在命令行模式下进入框架根目录执行
php think make:listener
例如:
php think make:listener UserListener
执行之后将在\app\
listener\下生成
UserListener这个类。
2、配置监听:在\app\event.php这个文件的listen数组中配置UserListener这个类,如下:
'listen' => [ 'testEvent' => ['app\listener\UserListener']],
3、触发监听:在你需要触发监听的地方加入如下代码
event('testEvent');
登录后复制
注意:这里的参数testEvent即为事件名称,可随便定义,但必须要与在event.php文件里配置的键名一致。
触发监听时你可以带上第二个参数。通过第二个参数你可以把任何数据传递到UserListener这个类中,也就是handle方法的参数(不明白啥意思的结合下面的完整代码理解)。
4、处理监听逻辑:在UserListener类的handle方法中完成业务逻辑
完整代码如下
Other:一个用来测试的类