我在控制器的商店功能中使用名为RolesRequest的请求类收到错误,我的控制器位于控制器下的Admin文件夹中 . 当我更改名称只是为了RoleRequest我仍然得到相同的错误,我不知道为什么,我试图做一个作曲家转储自动加载,但这没有帮助我仍然得到相同的错误 . 我认为我正在使用laravel 5.5.4
错误信息:
Class App\Http\Requests\RolesRequest does not exist", exception: "ReflectionException"
//控制器
<?php
namespace App\Http\Controllers\Admin;
use App\Role;
use App\Http\Controllers\Controller;
use App\Http\Requests\RolesRequest;
use Illuminate\Http\Request;
class RolesController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('admin.roles');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(RolesRequest $request)
{
dd('hit');
}
}
// RolesRequest类
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class RolesRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return Auth::user()->hasRole('Admin');
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
switch($this->method())
{
case 'GET':
case 'DELETE':
{
return [];
}
case 'POST':
{
$unique = [
'name' => 'required|min:3|max:30|unique:roles,name',
];
break;
}
case 'PUT':
case 'PATCH':
{
$unique = [
'name' => 'required|min:3|max:30|unique:roles,name,'. $this->id
];
break;
}
default:break;
}
$rules = [
'display_name' => 'required|min:4|max:50',
'description' => 'required|min:10|max:100'
]
return $unique + $rules;
}
}
1 回答
当发生超过1个错误时,这是有趣的时间之一 . 你看到第二个错误 . 第一个错误是解析器因您尝试使用的类中的语法错误而失败 . 它试图加载该文件并失败,因此永远不会加载该文件,因此无法找到该类(第二个错误) .
这可能是错误页面中显示的错误(2/2) . 检查错误日志,看看它是否在您看到的“类不存在”错误之前显示错误 .
RolesRequest
文件在return
之前有语法错误 . 数组定义语句最后没有分号 .