具体如下:

cat.php
";
//$this->trigger('miao');//事件命名
$me = new myEvent();
$me->message = "hello my Event
";
$this->trigger('miao',$me);
}
}Dog.php
"; } }
Mouse.php
message; echo "I am running!
"; } }
controllers/AnimalController.php 调用第三方类库
on('miao',[$mouse,'run']);
$cat->on('miao',[$dog,'look']);
//
// $cat->off('miao',[$dog,'look']);//取消关注
//类级别的事件绑定
// Event::on(Cat::className(),'miao',[$mouse,'run']);//所有的老鼠都会监听这个miao事件
// Event::on(Cat::className(),'miao',function(){
// echo "miao event has triggerd!
";
// });
$cat->shout();
//\Yii::$app是YII实现的单例模式
// Yii::$app->on(\yii\base\Application::EVENT_AFTER_REQUEST,function(){
// echo "event after request";
// });
}
public function actionBehavior()//类的混合
{
/*板块1
* $dog = new Dog();
$dog->look();
$dog->eat();*/
$dog=new Dog();
$dog->trigger("wang");
}
public function actionObject()//对象的混合
{
$dog = new Dog();
$behavior1 = new Behavior1();
$dog->attachBehavior('beh2',$behavior1);//取个别名,防止冲突
//$dog->detachBehavior('beh2');//移除对象
$dog->eat();
}
}
下一篇:PHP函数mb_split解析