2016-11-20 136 views
1

其实我很新的PHP和Laravel5.3的,而当我想设置表格的要求我有这个问题(做一个简单的博客页面)类应用程序 HTTP 控制器请求 ArticleRequest不存在Laravel5.3

ReflectionException在Route.php行339:类应用程序\ HTTP \控制器\请求\ ArticleRequest不存在

这是我的控制器代码(文件名:ArticlesControllers.php):

<?php 

    namespace App\Http\Controllers; 
    //namespace App\Http\Controllers; 
    use App\Http\Requests\ArticleRequest; 
    use App\Article; 
    use Carbon\Carbon; 
    use Illuminate\Http\Request; 

    class ArticlesControllers extends Controller 
    { 
     // 
     public function index(){ 
      $articles = Article::latest()->get(); 
      //return 'articles'; 
      return view('articles.index')->with('articles',$articles); 
     } 

     public function show($id){ 
      $article = Article::find($id); 
    //  if(is_null($article)){ 
    //   abort(404); 
    //  } 
      //dd($artilce); 
      return view('articles.show',compact('article')); 
     } 

     public function create(){ 
      return view('articles.create'); 
     } 

     public function store(Requests\ArticleRequest $request){ 
      //dd($request->all()); 
      //接受post过来的数据 
      //存入数据库 
      //重定向 
      $input=$request->all(); 

      //$input['published_at']=Carbon::now(); 
      Article::create($input); 
      return redirect('/articles'); 
     } 
    } 

而且将R eQUEST的文件代码(文件名:ArticleRequest.php路径请求)

<?php 

namespace App\Http\Requests; 

use Illuminate\Foundation\Http\FormRequest; 

class ArticleRequest extends FormRequest 
{ 
    /** 
    * Determine if the user is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize() 
    { 
     return true; 
    } 

    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() 
    { 
     return [ 
      'title'=>'required|min:3', 
      'content'=>'required', 
      'published'=>'require' 
     ]; 
    } 
} 

我的路线/ Web.php是:

<?php 

    /* 
    |-------------------------------------------------------------------------- 
    | Web Routes 
    |-------------------------------------------------------------------------- 
    | 
    | Here is where you can register web routes for your application. These 
    | routes are loaded by the RouteServiceProvider within a group which 
    | contains the "web" middleware group. Now create something great! 
    | 
    */ 

    //Route::get('/','[email protected]'); 


    Route::get('/', function() { 
     return view('welcome'); 
    }); 

    Route::get('/articles','[email protected]'); 
    Route::get('/articles/create','[email protected]'); 
    Route::get('/articles/{id}','[email protected]'); 


    Route::post('/articles/store','[email protected]'); 

我怎样才能摆脱这个讨厌的问题,我已经一直在寻找在计算器上但几乎所有的答案可能不会解决这个问题....

+0

你是否为你的项目创建了任何认证系统? –

回答

0

改成这样,使其工作:

public function store(ArticleRequest $request) 
+0

你能解释downvote吗? –

0

您已经导入的类别在顶部

use App\Http\Requests\ArticleRequest

没有必要使用一个完整的类名作为参数 只是使用

public function store(ArticleRequest $request)

public function store(\App\Http\Requests\ArticleRequest $request)

+0

谢谢!它的工作原理! –

+0

劳驾纪念这个答案是正确的.. – Sherif

+0

@charliefreak查理,请注明此答案为正确答案让人们将不必看这个问题,因为他们知道,它的回答(并给予声誉的人谁给出正确的答案):http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

相关问题