我试过用Yii::app()->controller->id获取到controller,但是获取不到action name,在controller里面的 init(),
我看了代码,似乎,要run到这个action,进入到这个action的时候Yii::app()这个里面才有action name,
这样就没意义了,我想要在所有的action开始之前,知道这个action是什么,
这个,大家知道怎么做比较好吗
我试过用Yii::app()->controller->id获取到controller,但是获取不到action name,在controller里面的 init(),
我看了代码,似乎,要run到这个action,进入到这个action的时候Yii::app()这个里面才有action name,
这样就没意义了,我想要在所有的action开始之前,知道这个action是什么,
这个,大家知道怎么做比较好吗
没有太明白,在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,希望指教一下…