关于获取Action,在init()里面

我试过用Yii::app()->controller->id获取到controller,但是获取不到action name,在controller里面的 init(),

我看了代码,似乎,要run到这个action,进入到这个action的时候Yii::app()这个里面才有action name,

这样就没意义了,我想要在所有的action开始之前,知道这个action是什么,

这个,大家知道怎么做比较好吗 :huh:

没有太明白,在action之前,怎么会知道这个action是什么?如果你的action id是个变量的话,直接用你的变量就行。

$actionId=‘view’;

Yii::app()->createUrl(‘post/’.$actionId);

那么此$actionId就是你想要的action。

如果在run到action以后,可以用Yii::app()->controller->action->id; 来获得。

感谢回答…

我的意思是,发出一个请求,里面包含了module/controller/action,那yii里面会去解析整个url的,我想从这个获得它解析完的controller/action,

如果自己去解析url比较麻烦,我记得zend framework里面是可以拿到框架解析url完之后的数据,比如$this->controllerName或者$this->action之类的,不知道yii可以不,我试过了,貌似不行,它要等到跑进actin里面会能拿到,但是这样就没意义了.

我的需求是在所有的控制器run之前,拿请求里面的controller/action去做某些事.

刚学的Yii,希望指教一下… :rolleyes: