2016-11-20 44 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 –

相關問題