很久没去看thinkphp框架文档,结果看到有更新到8.0版本。
好奇去下载框架运行,
好在我电脑都有运行的PHP版本是8.1多,拿捏这个新出的think
今天摸索event的这个事件功能,
文档的介绍是这样:
(省略几十字),
重要内容:
我们通常会遇到用户注册或者登录后需要做一系列操作,通过事件系统可以做到不侵入原有代码完成登录的操作扩展,降低系统的耦合性的同时,也降低了BUG的可能性。
所以,也就是说,我们可以在正常写入或者返回的过程中不变的情况下,
可以用这个event事件来扩展其它,
比如,
- 判断登陆的token是否过期,
- 判断优惠券是否过期,进行更新
- 判断/更新....等等业务的范畴
安装的步骤我就不说了,再次省略几百字,
首先在业务层代码,比如控制器Index下的login方法下,
完成处加入
\event('app\event\UserLogin',$str1);
引入:
use think\facade\Event;
同时利用工具创建 定义事件
php think make:event UserLogin
截图之处,文档都有,可根据自身需求改变。
同时利用工具创建监听
php think make:listener UserLogin
我是将监听传输的数据进行判断,目前先进行打印。
绑定监听和定义的事件
<?php
// 事件定义文件
return ['bind' => ['UserLogin'=>'app\event\UserLogin'],'listen' => ['AppInit' => [],'HttpRun' => [],'HttpEnd' => [],'LogLevel' => [],'LogWrite' => [],'UserLogin'=> ['app\listener\UserLogin']],'subscribe' => [],
];
最后运行结果