Event事件的整理

很久没去看thinkphp框架文档,结果看到有更新到8.0版本。

好奇去下载框架运行,

好在我电脑都有运行的PHP版本是8.1多,拿捏这个新出的think

今天摸索event的这个事件功能,

文档的介绍是这样:

 (省略几十字),

重要内容:

        我们通常会遇到用户注册或者登录后需要做一系列操作,通过事件系统可以做到不侵入原有代码完成登录的操作扩展,降低系统的耦合性的同时,也降低了BUG的可能性。

所以,也就是说,我们可以在正常写入或者返回的过程中不变的情况下,

可以用这个event事件来扩展其它,

比如,

  1. 判断登陆的token是否过期,
  2. 判断优惠券是否过期,进行更新
  3. 判断/更新....等等业务的范畴

安装的步骤我就不说了,再次省略几百字,

首先在业务层代码,比如控制器Index下的login方法下,

完成处加入 

      \event('app\event\UserLogin',$str1);

引入:

use think\facade\Event;

Event事件的整理_第1张图片

同时利用工具创建 定义事件

php think make:event UserLogin

Event事件的整理_第2张图片

截图之处,文档都有,可根据自身需求改变。

同时利用工具创建监听

php think make:listener UserLogin

Event事件的整理_第3张图片

 我是将监听传输的数据进行判断,目前先进行打印。

绑定监听和定义的事件

Event事件的整理_第4张图片Event事件的整理_第5张图片

 [
        'UserLogin'=>'app\event\UserLogin'
    ],

    'listen'    => [
        'AppInit'  => [],
        'HttpRun'  => [],
        'HttpEnd'  => [],
        'LogLevel' => [],
        'LogWrite' => [],
        'UserLogin'=> ['app\listener\UserLogin']
    ],

    'subscribe' => [
    ],
];

最后运行结果

Event事件的整理_第6张图片

你可能感兴趣的:(程序员的生活,php技术,android)