原csdn地址https://blog.csd|

蜗牛使劲冲

园龄:7年6个月粉丝:3关注:10

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 中国大陆许可协议进行许可。

posted @   蜗牛使劲冲  阅读(5)  评论(0编辑  收藏  举报  
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起