Laravel 4, как применять фильтры в Route :: controller ()

Я знаю, что могу сделать это

Route::get('foo/bar', array('before' => 'filter', 'uses' => 'Controller@bar')); 

для применения маршрутов некоторый фильтр. Мне также известен метод Route :: group (). В любом случае, если я хочу определить контроллер таким образом

 Route::controller('foo/{id}/bar', 'Controller'); 

Я не могу передать массив как второй аргумент.

Вопрос: как применить фильтры к следующему маршруту?

 Route::controller('foo/{id}/bar', 'Controller'); 

=== EDIT

Я хочу закодировать это в моем route.php, но не внутри конструктора контроллера.

В constructor вашего контроллера вы можете использовать

 public function __construct() { $this->beforeFilter('auth'); } 

Кроме того, вы можете использовать

 Route::group(array('before' => 'auth'), function() { Route::controller(...); }); 

Blockquote Метод контроллера принимает два аргумента. Первый – это базовый URI, который управляет контроллер, а второй – имя класса контроллера. Затем просто добавьте методы к вашему контроллеру с префиксом HTTP-глагола, на который они отвечают.

Контроллер Route :: отвечает за создание группы маршрутов с использованием соглашений об именах REST. Предназначен для создания сервисов RESTFull.

Фильтры Blockquote могут быть указаны на маршрутах контроллера, похожих на «обычные» маршруты:

Поскольку эта функция допускает только два параметра, вы можете применять фильтры контроллера в конструкторе. Например:

 class RoutedController extends Controller { public function __construct() { //Apply Auth filter to all controller methods $this->filter('before', 'auth'); } } 

Вы можете прочитать о фильтрах контроллера в документах Laravel: http://laravel.com/docs/controllers#controller-filters