Метод controllers
устарел в Laravel 5.2.Из руководства по обновлению:
Неявные маршруты контроллера с использованием Route :: controller устарели.Пожалуйста, используйте явную регистрацию маршрута в вашем файле маршрутов.
1) Используйте маршруты ресурсов
При условии, что ваши контроллеры используют стандартные методы index
, store
, show
и т. Д.Вы можете просто использовать ресурсы маршрутов.Например:
Route::resource('user', 'UserController');
Однако, если вы хотите исключить определенные методы, вы можете добавить их в ресурс.Например:
Route::resource('user', 'UserController', ['except' => 'show']);
2) Объявить маршруты явным образом
Вы можете следовать руководству по обновлению Laravel 5.2, как указано выше, и вместо этого объявить каждый маршрут явным образом.
3) СоздатьМакрос
Маршрутизатор Laravel является Macroable.Это означает, что вы можете добавить свои собственные методы к нему.Например, у вашего поставщика услуг приложения вы можете иметь следующее:
Illuminate\Routing\Router::macro('controllers', function ($routes) {
// Create your own implementation of the controllers method.
});
Это позволяет вам создать собственную реализацию метода controllers
, что означает, что вам не нужно будет изменять маршруты или контроллеры., но вам, возможно, придется погрузиться и посмотреть на обработку маршрута Laravel, чтобы понять, как это реализовать.
Надеюсь, это поможет.