有没有办法从Controller.php init函数中获取当前操作名称?
由于
答案 0 :(得分:4)
通常,您可以在$this->action->id
类的后代内调用CController
。
或者您可以在整个申请中使用Yii::app()->controller->action->id
。
但是在控制器开始执行之前调用了方法init()
(参见http://www.yiiframework.com/doc/api/1.1/CController#init-detail)
正如您在此处所见:http://www.yiiframework.com/doc/api/1.1/CWebApplication#runController-detail actionID
仅在run()
之后传递给方法init()
:
$controller->init();
$controller->run($actionID);
答案 1 :(得分:0)
正如 v2p 所说,在init()运行后,我们可以通过Yii :: app() - >控制器获取控制器ID,也可以通过Yii :: app()获取行为ID - &gt ; controller-> action-> id;另一种方式:Yii :: app() - > getController() - > getAction() - > id;