获取Yii中的当前控制器ID

时间:2012-03-06 10:55:07

标签: php templates yii yii-components

我想获取处理当前操作的当前控制器名称。 但在我的情况下我会在我的布局文件中查找main.php中的当前控制器

这是我的目录结构的小视图,让您了解我的布局文件在哪里以及我将代码放入搜索控制器名称的文件

  
      
  • /受保护的
  •   
  • /主题   
        
    • / mylayout   
          
      • /布局   
            
        • main.php
        •   
        • column1.php
        •   
        • column2.php
        •   
      •   
      • /部位   
            
        • 的index.php
        •   
      •   
    •   
  •   

这可能吗?我尝试以下代码,但我没有得到我当前的控制器名称......

echo Yii::app()->controller->getId;
echo Yii:app()->getController->id;
echo Yii:app()->controller->uniqueID;

感谢

5 个答案:

答案 0 :(得分:26)

喜欢这个

Yii::app()->controller->id

Yii::app()->getController()->getId()

http://www.yiiframework.com/doc/api/1.1/CApplication#getController-detail

答案 1 :(得分:13)

控制器ID:

$this->id

这里$ this指的是控制器。

和 获取操作ID:

$this->action->id

答案 2 :(得分:7)

<?php echo $this->getUniqueId();?>

这将显示当前控制器

答案 3 :(得分:3)

您实际上并不需要使用静态功能。只要在视图(或模板)中,您就可以使用echo $this->getUniqueId();来获取唯一的控制器ID。

答案 4 :(得分:1)

Yii2:

Yii::$app->controller->id

(文档:ApplicationController