Внедрение зависимости и параметры маршрута в Laravel

Бывают ситуации, когда в контроллер должны передаться параметры маршрута и при этом мы хотим внедрить зависимость. Давайте посмотрим, как действовать в этом случае.

Пусть у нас есть роут с параметром:

<?php Route::post('/post/{id}', [PostController::class, 'test']); ?>

Получим переданный параметр в действии контроллера:

<?php class PostController extends Controller { public function test($id) { } } ?>

Пусть нам в этом действии также понадобился объект запроса. В этом случае внедрение зависимости нужно провести до параметров:

<?php class PostController extends Controller { public function test(Request $request, $id) { } } ?>

Сделайте маршрут, в котором параметрами передаются id и логин юзера. Отравьте форму на этот маршрут. Получите и данные формы, и параметры маршрута.