YII - как мы можем получить имя метода в функции init () в контроллере? - PullRequest
2 голосов
/ 19 января 2012

В работе YII у меня есть функция init (), которая проверяет, установлен ли сеанс, если не перенаправить на страницу входа.

Проблема в том, что действие «login» также находится в том же контроллере, поэтому оно создает бесконечный цикл. Если я смогу получить имя метода в функции init (), я смогу решить эту проблему.

Как я могу получить имя метода в функции init ()?

1 Ответ

5 голосов
/ 19 января 2012

Текущий контроллер

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

и Текущее действие

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

Чтобы проверить идентификатор действия во всех функциях, кроме init (), потому что функция init инициализирует контроллер ...

Таким образом, решение вашей проблемы будет разрешать поступление запроса к actionLogin в вашем контроллере входа в систему ... и там вы проверяете, не является ли сеанс проверкой, перенаправьте его туда, откуда он идет .. иначе выполните действие входа в систему .. как вы не столкнетесь с проблемой петли ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...