Intereting Posts
Существуют ли общедоступные статические переменные конечного класса Функция добавления тире к номеру телефона США в PHP Свойства доступа в файле View phtml, которые были установлены в контроллере Как разобрать stdClass из Amazon API Response для возврата строки Когда filter_input () удаляет слэши переменных POST? Преобразование RSA-шифрования из Javascript в PHP Данные Swift httppost, не вставляемые в базу данных MySQL array_intersect переменное количество массивов Выполните PHP-скрипт на той же странице после выбора раскрывающегося списка с использованием Ajax или JavaScript Как загрузить расширение pthreads в CLI? Как предотвратить подгрузку http-запросов, если содержимое является приватным? (в основном разрешают только запросы от моего интерфейса, а не от браузера) ищет c # эквивалент проверки пароля php () Ложное незащищенное статическое свойство PHP Профилирование XDebug в PHP – не может получить выход ServiceLocator, давайте подумаем об этом в контексте ZF2

Kohana 3 получает текущий контроллер / действие / аргументы

В Kohana 2 вы можете легко получить такую ​​информацию:

echo router::$controller; echo router::$method; echo router::$arguments[0-x]; 

Любая идея, как это работает в Kohana 3?

Заранее спасибо!

Изнутри контроллера:

$this->request->controller

$this->request->action

$this->request->param('paramname')

В отличие от аргументов K2 в K3 доступны через kays, которые вы определяете на своих маршрутах.

Возьмем, к примеру, этот URL:

 Route::set('default', '(<controller>(/<action>(/<id>)))') ->defaults(array('controller' => 'welcome', 'action' => 'index')); 

Чтобы получить доступ к аргументу «id», который вы вызываете

$this->request->param('id')

Вы не можете получить доступ к аргументам контроллера / действия из метода param ().

Обратите внимание: вы также можете использовать Request::instance() для получения Request::instance() global (или «master»).

Для получения дополнительной информации см. Руководство K3

Обновленный ответ для Kohana 3.2 , из руководства пользователя :

 // From within a controller: $this->request->action(); $this->request->controller(); $this->request->directory(); // Can be used anywhere: Request::current()->action(); Request::current()->controller(); Request::current()->directory(); 

Для тех, кто использует Kohana> = 3.1, было бы полезно заметить, что некоторые свойства объекта Request были преобразованы в методы.

Например, Request::controller теперь является Request::controller() (или $this->request->controller() когда вы находитесь внутри контроллера).

Для получения дополнительной информации я хотел бы обратиться к руководству по обновлению Kohana на http://kohanaframework.org/3.1/guide/kohana/upgrading