CakePHP: получить текущее имя контроллера в модели - PullRequest
1 голос
/ 15 декабря 2010

Я создаю поведение, которое должно регистрировать текущее имя контроллера.Как я могу получить текущее имя контроллера из модели в CakePHP?

Ответы [ 5 ]

5 голосов
/ 09 марта 2011

Я знаю, что этот вопрос довольно старый, но правильное решение здесь будет:

$this->params['controller']

Для получения дополнительной информации об атрибуте 'params':http://book.cakephp.org/view/963/The-Parameters-Attribute-params

3 голосов
/ 15 декабря 2010

Попробуй это.если вам нужно только имя контроллера.

Inflector::pluralize($this->name);
2 голосов
/ 23 февраля 2012
$GLOBALS['Dispatcher']->params['controller']

даст вам имя контроллера

0 голосов
/ 16 декабря 2010

Я нашел решение, оно не красивое, но сработало для меня.Я просто использую $ _REQUEST ['url'] и ловлю имя контроллера по URL.Недостатком этого решения является то, что если у вас другой маршрут по умолчанию, это решение не будет работать ... у кого-нибудь есть лучший подход?

0 голосов
/ 15 декабря 2010

Одна из магических констант PHP - __CLASS__, которая возвращает имя класса объекта, в котором она находится. Это может дать вам то, что вам нужно.

http://php.net/manual/en/language.constants.predefined.php

Магические константы и методы - это весело.

...