怎么获取Yii中模块、控制器、动作名?

已邀请:

zkbhj - 凯冰科技站长

赞同来自:

1. 获取控制器名 

在控制器中获取控制器名:

$name = $this->getId();  


在视图中获取控制器名:
 
$name = Yii::app()->controller->id;  

 
2. 获取动作名

在控制器beforeAction()回调函数中获取动作名:

 
$name = $action->id;  

在其他地方获取动作名:

$name = $this->getAction()->getId();  

 

3、视图中获取当前模块ID

$this->module->id,
 
Yii2 获取模块名、控制器名、方法名
在视图中:     
模块名  $this->context->module->id    
控制器名 $this->context->id    
方法名 $this->context->action->id
 
 
在控制器中     
模块名   Yii::$app->controller->module->id;     
控制器名   Yii::$app->controller->id     
方法名  Yii::$app->controller->action->id; 
或    模块名 $this->module->id;    
控制器名 $this->id;     
方法名  $this->action->id;

在控制器的 beforeAction 方法中(方法接收$action参数)    
模块名  $action->controller->module->id;    
控制器名 $action->controller->id;    
方法名  $action->id;

要回复问题请先登录注册