最近在学习Yii2,这里记录一下学习yii2的事件,一个简单的事件实例:
包括了一个对象、一个静态对象、一个匿名函数。
app\controllers\siteController
/**
* 事件处理
*/
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
<?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>';
}
}
最后输出结果为:
这是事件处理
你应该会看到:你好,朋友
你应该会看到:再见了,我的朋友
晚安!