yii2 Event

来源:互联网 发布:网络电视机盒 编辑:程序博客网 时间:2024/05/16 05:30

最近在学习Yii2,这里记录一下学习yii2的事件,一个简单的事件实例:

包括了一个对象、一个静态对象、一个匿名函数。

app\controllers\siteController

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
     * 事件处理
     */
    public function actionEvent(){
        echo '这是事件处理<br/>';
         
        $person new Person();
         
        $this->on('SayHello', [$person,'say_hello'],'你好,朋友');
         
        $this->on('SayGoodBye', ['app\models\Person','say_goodbye'],'再见了,我的朋友');
         
        $this->on('GoodNight'function(){
            echo '晚安!';
        });
         
         
        $this->trigger('SayHello');
        $this->trigger('SayGoodBye');
        $this->trigger('GoodNight');
         
    }


app\models\Person.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
namespace app\models;
 
use yii\base\Model;
 
class Person extends Model{
    public function say_hello($parm){
        echo "你应该会看到:".$parm->data.'<br>';
    }
     
    public function say_goodbye($parm){
        echo "你应该会看到:".$parm->data.'<br>';
    }
}


最后输出结果为:

?
1
2
3
4
这是事件处理
你应该会看到:你好,朋友
你应该会看到:再见了,我的朋友
晚安!
0 0