我有Laravel版本5.3,我在createArticleRequest.php
文件夹下创建了一个文件request
,如下所示:
<?php namespace App\Http\Requests;
use App\Http\Requests\Request;
class CreateArticleRequest extends Request {
public function authorize() {
return true;
}
public function rules() {
return [
'title' => 'required|min:3',
'body' => 'required',
'published_at' => 'required|date',
]
}
}
?>
在我的文章控制器中,我有以下方法:
public function store(CreateArticleRequest $request) {
// $input = Request::all();
Article::create($request->all());
return redirect('articles');
}
但是当我在我的视图中填写表单并单击提交时,我会收到如下错误:
ReflectionException in Route.php line 286:
Class App\Http\Controllers\CreateArticleRequest does not exist
为什么我会收到此错误?
我相信我的文章Controller和我的createArticlesRequest都在同一个namespace
中,为什么我会得到这个错误?
答案 0 :(得分:2)
您应该在PHP文件的顶部使用PHP'use
关键字,以便php可以在右侧命名空间中找到CreateArticleRequest包类,如下所示:
namespace App\Http\Controllers;
use App\Http\Requests\CreateArticleRequest;
class Controller {
public function store(CreateArticleRequest $request) {
// $input = Request::all();
Article::create($request->all());
return redirect('articles');
}
}
希望这有帮助!