Как вызвать контроллер ресурсов в Laravel 8.0x

#laravel #controller #resources #laravel-8

#laravel #контроллер #Ресурсы #laravel-8

Вопрос:

при обновлении laravel в этом обновлении происходят некоторые изменения, поэтому, как вызвать контроллер ресурсов, приведите пример

контроллер вызывается как:

сначала используйте контроллер следующим образом: используйте App Http controllers имя контроллера;

и затем

Маршрут::get(‘/URL’, имя контроллера::class);

но таким образом я не могу вызвать контроллер ресурсов.

Комментарии:

1. так что используйте Route::resource тогда…. в чем проблема?

2. Route::resource(‘/URL’, controller-name::class); но не вызывает ошибку отображения

3. в чем проблема? можете ли вы на самом деле объяснить, в чем проблема с контекстом

4. как вызвать метод контроллера ресурсов, дайте мне одну демонстрацию, чтобы я мог легко понять.

5. добро пожаловать в so, вы должны быть тем, кто выполняет поиск, поэтому поможет только вам, laravel.com/docs/8.x/controllers#resource-controllers

Ответ №1:

Определенный вами маршрут работает только для контроллеров с одним действием, которые реализуют этот __invoke() метод.

Если вы имеете дело с контроллерами ресурсов, вы можете либо использовать синтаксис кортежа, либо Route::resource()

Пример синтаксиса кортежа:

 use AppHttpControllersPostController;

Route::get('posts', [PostController::class, 'index']);
Route::post('posts', [PostController::class, 'store']);
  

Пример ресурса маршрута:

 use AppHttpControllersPostController;

Route::resource('posts', PostController::class);
  

Ссылки:
https://laravel.com/docs/8.x/controllers#single-action-controllers
https://laravel.com/docs/8.x/controllers#resource-controllers