У меня один контроллер, где я использую разные запросы для проверки данных по каждому методу. Я пытался использовать запросы с полным пространством имен и путем импорта тоже, но в обоих случаях не работает.
Например
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use App\Http\Requests\UserRequest;
use App\Http\Requests\RegisterRequest;
use App\Http\Requests\PositionRequest;
use App\Http\Requests\UserOrderRequest;
class UserController extends Controller
{
public function register(\App\Http\Requests\RegisterRequest $request)
{
// do something
}
public function positions(\App\Http\Requests\PositionRequest $request)
{
// do something
}
public function user(\App\Http\Requests\UserRequest $request)
{
// do something
}
public function orders(\App\Http\Requests\UserOrderRequest $request)
{
// do something
}
}
В этом контроллере laravel может Не найдено ни одного файла запроса и выдает ошибку с сообщением:
ReflectionException: Class App \ Http \ Requests [Имя запроса] не существует в файле / home / c / website / vendor / laravel / framework / src / Illuminate / Routing / RouteSignatureParameters. php в строке 25
Пример кода файла моего запроса
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class RegisterRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
"name" => "required|min:3|max:100",
"email" => "required|email|unique:users",
"phone" => "required|numeric|unique:users",
"positions" => "required|array|min:1|max:10",
"positions.*.name" => "required|string|min:2|max:50|distinct",
"password" => "required|min:8|string|max:255"
];
}
}
I пробные команды:
composer dump autoload
php artisan config:cache
php artisan config:clear
php artisan cache:clear
php artisan route:clear
Laravel Framework: 6.17.0
PHP: 7.4