Внедрение зависимости и параметры маршрута
Бывают ситуации, когда в контроллер должны передаться параметры маршрута и при этом мы хотим внедрить зависимость. Давайте посмотрим, как действовать в этом случае.
Пусть у нас есть роут с параметром:
routes/web.php<?php
Route::post('/post/{id}', [PostController::class, 'test']);
Получим переданный параметр в действии контроллера:
app/Http/Controllers/PostController.php<?php
use Illuminate\Http\Request; // подключим класс Request
class PostController extends Controller
{
public function test($id)
{
}
}
Пусть нам в этом действии также понадобился объект запроса. В этом случае внедрение зависимости нужно провести до параметров:
app/Http/Controllers/PostController.php<?php
use Illuminate\Http\Request; // подключим класс Request
class PostController extends Controller
{
public function test(Request $request, $id)
{
}
}