Yii2 事件
参考:https://my.oschina.net/kenblog/blog/411074
第二个更好:https://blog.csdn.net/u012979009/article/details/51496165
事件主要用于“一系列”的动作操作,然后直接触发就行
先来个普通类:
<?php
namespace app\models;
use yii\base\Model;
// 所有的model也是,他们也是全部继承了component
class Person extends Model{
public function say_hello($parm){
echo "你应该会看到:".$parm->data.'<br>';
}
public function say_goodbye($parm){
echo "你应该会看到:".$parm->data.'<br>';
}
}
接下来是关键部分
// 在app\controllers\siteController下,所有的控制器都继承了component
public function actionEvent(){
$person = new Person();
$this->on('SayHello', [$person,'say_hello'],'你好,朋友');// 对象的方法
$this->on('SayHello', ['app\models\Person','say_goodbye'],'再见了,我的朋友');
$this->on('SayHello', function(){ // 匿名函数输出
echo '晚安!';
});
$this->trigger('SayHello');// 触发事件
// 通过 off 解除绑定
$person->off('SayHello', [$person, 'say_hello']);
}
本文作者:蜗牛使劲冲
本文链接:https://www.cnblogs.com/warrenwt/p/18074661
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步