2014-08-28 2 views
1

Мне нужно знать, какие фильтры применяются к определенному контуру. Я читал api laravel, и я обнаружил, что в классе Route существует метод getBeforeFilters().
getBeforeFilters()
Я не очень хорошо понимаю, как работает этот класс, но я думал, что мне нужно создать экземпляр класса Route для использования этой функции.
Если это правильно, как я могу создать его экземпляр - какие параметры мне нужно предоставить и какие функции мне нужно
обращении в службу Если нет, то, как можно использовать егоКак получить фильтры по маршруту в laravel

Примечание: Я пытался искать функция-конструктор в классе маршрута к знает, как создать его экземпляр, но я не мог найти

ответ

3

Это, как вы его используете:

$filters = Route::current()->beforeFilters(); 

Если вы хотите найти маршрут у вас есть доступ к ним всем:

foreach(Route::getRoutes() as $route) 
{ 
    echo 'host'; 
    var_dump($route->domain()); 

    echo 'uri'; 
    var_dump($uri); 

    echo 'name'; 
    var_dump($route->getName()); 

    echo 'action'; 
    var_dump($route->getActionName()); 

    echo 'before filters'; 
    var_dump($route->beforeFilters()); 

    echo 'after filters'; 
    var_dump($route->afterFilters()); 
} 
+0

означает, что текущий маршрут означает маршрут, который браузер просматривает в данный момент? Мне нужно получить конкретный маршрут, который я не просматриваю в своем браузере –

+0

последние два метода не сработали! Знаете ли вы, что такое отношение между классами Route и Router? –

+0

Извините, просто исправлено, и оно должно работать. Маршрутизатор (aka Route: :) ​​- менеджер маршрутов. –

0

Вы можете запустить php artisan routes из командной строки, чтобы получить список всех маршрутов и их фильтров.

+0

Мне нужно сделать это с помощью кода в файле PHP –