Yii 学习笔记之扩展篇
关于模块化
1、用gii生成的时候modules下生成的第一层模块可以再config内的web配置项里配置模块的地址,在相应的控制器里实例化即可找到
$test = Yii::$app->getModule('user'); echo $test->runAction('default/test');
2、在模块中第二层模块需要在第一层模块的主类中定义
public function init() { parent::init(); //在此处定义子模块对应的地址 $this->modules = [ 'test111' => [ 'class' => 'app\modules\admin\modules\Test1', ], ]; // custom initialization code goes here }
在实例此二层模块的时候需注意加上一级模块*
$test = Yii::$app->getModule('user/test111'); echo $test->runAction('default/test');
关于事件
一个比较好的例子是程序入口文件会执行yii\base\Application 类里的run()方法,然后会触发一些事件,可以通过以下的例子把一个事件加到其中会有相应的效果
Yii::$app->on(\yii\base\Application::EVENT_AFTER_REQUEST,function (){ echo 'event jie shu le'; });

浙公网安备 33010602011771号