首页 文章

Laravel请求类反射异常不存在

提问于
浏览
0

我在控制器的商店功能中使用名为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 回答

  • 0

    当发生超过1个错误时,这是有趣的时间之一 . 你看到第二个错误 . 第一个错误是解析器因您尝试使用的类中的语法错误而失败 . 它试图加载该文件并失败,因此永远不会加载该文件,因此无法找到该类(第二个错误) .

    这可能是错误页面中显示的错误(2/2) . 检查错误日志,看看它是否在您看到的“类不存在”错误之前显示错误 .

    RolesRequest 文件在 return 之前有语法错误 . 数组定义语句最后没有分号 .

相关问题