Get current controller and action id in Yii

Hamid Ghorashi picture Hamid Ghorashi · Oct 15, 2013 · Viewed 81.7k times · Source

I want to force all users to log in before accessing pages of my site. I have followed Larry Ullman's tutorial Forcing Login for All Pages in Yii.

According to the tutorial you can make an exception for some pages to avoid redirecting to the log in page. In order to check the current controller it has checked $_GET value. My problem is that I have used urlManager to rewrite the URL and $_GET gives me a null value. Is there any method I can use to get the current controller and action in the score of my class?

I tried the following but it is not accessible in the scope of my component class:

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

Answer

Korcholis picture Korcholis · Oct 15, 2013

Did you try:

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

and:

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

?