<?php namespace app\modules\test\controllers; use yii\web\Controller; use common\models\User; use yii\base\Component; use yii\base\Object; use yii\base\Event; /** * Default controller for the `test` module * yii 事件简单使用 */ class DefaultController extends Controller { const TEST_EVENT = 'say'; const TEST_EVENT_PASRAM = 'param'; public function say() { echo 'hello world'; } public function init() { parent::init(); $this->on(self::TEST_EVENT,[$this,'say']); $this->on(self::TEST_EVENT_PASRAM,[$this,'Ontest'],$this->actionTest()); } public function actionIndex() { $this->trigger(self::TEST_EVENT); } public function actionTest() { $msgEvent = new MsgEvent(); $msgEvent->dateTime = 'TestdateTime'; $msgEvent->author = 'Testauthor'; $msgEvent->content = 'Testcontent'; $this->trigger(self::TEST_EVENT_PASRAM,$msgEvent); //参数是实例化的对象 } public function onTest(\yii\base\Event $event) { var_dump($event->author); var_dump($event->dateTime); var_dump($event->content); var_dump($event->data); } } class MsgEvent extends Event //需要继承event { public $dateTime; public $author; public $content; }
yii 事件简单使用
最新推荐文章于 2021-03-11 19:57:07 发布