Thinkphp事件机制如何实现

    事件机制的实现有两种途径:通过监听、通过订阅

    一、通过监听

    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:一个用来测试的类