Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.02.2013 19:04:07

Как определить текущие controller и action?

В общем я не нашел метода, который это определяет. Порылся в папке laravel и сделал так:

class Base_Controller extends Controller
{
	protected $curr_controller; // Текущий controller
	protected $curr_action;     // Текущий action

	/**
	 * Before action
	 */
	public function before()
	{
		$controllers = explode('.', Request::route()->controller);

		$this->curr_controller = end($controllers);
		$this->curr_action     = Request::route()->controller_action;
	}
}

Еели контроллер в папке типа такого

class Frontend_Home_Controller extends Base_Controller

то

Request::route()->controller

выдает 'frontend.home', поэтому explode
Например это нужно для подсветки какого-то пункта меню.
Как вы определяете текущие? Может я че-то пропустил?)

Изменено amberlex (07.02.2013 19:04:25)

Не в сети

#2 08.02.2013 15:55:47

Re: Как определить текущие controller и action?

Ты всё правильно делаешь, текущий контроллер хранится в PHPRequest::$route (PHPRequest::route() — его алиас), это объект PHPRouting\Route с полезными полями типа PHP$controller, которые ты и используешь.

Не в сети

Подвал раздела