2016-01-24 5 views
0

Я новичок в laravel и стараюсь играть с различными аспектами этого фреймворка. В настоящее время я работаю с route :: filters и написал простой код, чтобы увидеть, как работают фильтры. Но я получив следующую ошибку:Метод фильтр не существует ошибка в laravel

BadMethodCallException in Macroable.php line 81: Method filter does not exist.

Почему эта ошибка возникает? Как я могу решить эту проблему? Вот мой код в route.php:

Route::filter('birthday', function() 
{ 
    if (true) { 
     return View::make('birthday'); 
    } 
}); 
Route::get('/', array(
    'before' => 'birthday', 
    function() 
    { 
     return View::make('welcome'); 
    } 
)); 
+0

какую версию laravel вы используете? –

+0

Я в настоящее время использую версию 5.2.10 –

ответ

3

маршрут фильтры не уходят полностью после Laravel 5.0 Однако промежуточный слой теперь предпочтительный способ для достижения той же функциональности. См. http://laravel.com/docs/master/middleware для получения информации о том, как его использовать. Средство промежуточного уровня может быть реализовано так, чтобы вести себя как фильтры «до» или «после». И он может применяться ко всем маршрутам (называемым «глобальным промежуточным программным обеспечением») или назначаться определенным маршрутам (путем добавления «промежуточного программного обеспечения» => «auth», например, к определениям маршрутов в файле routes.php.

+0

вы говорите, что «фильтры» скоро будут устарели? почему они не работают над моей версией laravel? Должен ли я вместо этого использовать промежуточное программное обеспечение? из фильтров? еще не узнали эту тему, хотя! –

+0

определенно вы должны использовать middleware.Middleware очень просто, просто посмотрите здесь https://laravel.com/docs/master/middleware –

Смежные вопросы