Getting Current Controller ID in Yii

25,066

Solution 1

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

this will show current controller

Solution 2

Like this

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

or

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

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

Solution 3

Controller Id :

$this->id

Here $this refers to controller.

And For getting action id :

$this->action->id

Solution 4

You're not actually required to use the static function. Whenever in a view( or template) you can use echo $this->getUniqueId(); to get the unique controller ID.

Solution 5

Yii2:

Yii::$app->controller->id

(Documentation: Application and Controller)

Share:
25,066
Netorica
Author by

Netorica

We provide affordable, fast, secure &amp; reliable web hosting for Wordpress &amp; PHP websites using top cloud providers with free migration, SSL, backups &amp; security.

Updated on September 27, 2020

Comments

  • Netorica
    Netorica over 3 years

    I want to get the current controller name that handles the current action. but the in my case I will look for the current controller in my main.php in my layout files.

    this is my small view of my directory structure to give you an idea where is my layout files and the file where i will put my codes in searching of my controller name

    • /protected
    • /themes
      • /mylayout
        • /layouts
          • main.php
          • column1.php
          • column2.php
        • /site
          • index.php

    Is this possible? im trying the following codes but i failed to get my current controller name...

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

    thanks

  • Netorica
    Netorica about 12 years
    thanks for help but. I will look for the current controller in my main.php in my layout files... is that possible?
  • hpaknia
    hpaknia about 11 years
    I prefer your answer, because your answer works any where, views, widgets, extensions, etc. E.G. in case of calling CGridView, $this refers to it's widgets and $this->id results in widget name and not controller name.