Перебор всех контроллеров и вызов их метода

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
yuran80
Сообщения: 114
Зарегистрирован: 2010.03.21, 10:39
Откуда: Украина, Луцк
Контактная информация:

Перебор всех контроллеров и вызов их метода

Сообщение yuran80 »

Делаю управление правами пользователей с админки.
Нужно перебрать все котроллеры и вызвать определенный метод accessRulesDesc, например.
Все было нормально пока не встретились контроллеры с одинаковым названием.
Я их вызываю в цикле примерно так:

Код: Выделить всё

Yii::app()->createController(substr($filename, 0, $pos)); // в filename имя файла котнроллера
$controller->accessRulesDesc();
проблема в том что если уже был контроллер UserController то второй раз его не вызвать и в php классы не удаляются же.
Какие есть мысли по реализации?
Аватара пользователя
vbolshakov
Сообщения: 32
Зарегистрирован: 2011.10.11, 16:42
Откуда: Ярославль, Москва
Контактная информация:

Re: Перебор всех контроллеров и вызов их метода

Сообщение vbolshakov »

А зачем? В чем задача?
Аватара пользователя
yuran80
Сообщения: 114
Зарегистрирован: 2010.03.21, 10:39
Откуда: Украина, Луцк
Контактная информация:

Re: Перебор всех контроллеров и вызов их метода

Сообщение yuran80 »

vbolshakov писал(а):А зачем? В чем задача?
Чтобы собрать все возможные действия с контроллеров(и их описания) и дать возможность админу управлять правами доступа к ним.
Этот метод просто возвращает список действий и описание. Как-то так..
alexZT
Сообщения: 362
Зарегистрирован: 2012.03.06, 11:33
Откуда: Украина/Житомир
Контактная информация:

Re: Перебор всех контроллеров и вызов их метода

Сообщение alexZT »

если не неймспейсы, то посмотреть как старый добрый Rights делает, там проверяется на модуль/контроллер/екшн, тоесть например Users/UsersController/Index и Admin/UsersController/Index будут разными. Ну а на случай если у Вас оба контроллера не в модуле - то два одноименных контроллера в разных частях приложения - неймспейс онли
я человек и мне свойственно ошибаться
yii@conference.jabber.ru
Аватара пользователя
yuran80
Сообщения: 114
Зарегистрирован: 2010.03.21, 10:39
Откуда: Украина, Луцк
Контактная информация:

Re: Перебор всех контроллеров и вызов их метода

Сообщение yuran80 »

alexZT писал(а):если не неймспейсы, то посмотреть как старый добрый Rights делает, там проверяется на модуль/контроллер/екшн, тоесть например Users/UsersController/Index и Admin/UsersController/Index будут разными. Ну а на случай если у Вас оба контроллера не в модуле - то два одноименных контроллера в разных частях приложения - неймспейс онли
Смотрел я на Rights, Админку делаю для "простых пользователей", по этому нужны описания действий с контроллеров, а не названия вида News.Index, News.Create...
alexZT
Сообщения: 362
Зарегистрирован: 2012.03.06, 11:33
Откуда: Украина/Житомир
Контактная информация:

Re: Перебор всех контроллеров и вызов их метода

Сообщение alexZT »

если дело в названиях - еще проще, взять загнать в i18n и попереводить на человеческий язык, заодно и перевод будет =)
я человек и мне свойственно ошибаться
yii@conference.jabber.ru
Ответить