2016-11-20 14 views
1

実際に私はPHPとLaravel5.3の新機能です。この問題は、フォームのリクエストを設定したいときに行います。シンプルなブログページ)Route.phpラインでクラスApp Http Controllers Requests ArticleRequestは存在しませんLaravel5.3

ReflectionException 339:クラスのApp \ 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]'); 

、私はしました.... StackOverflowの上で検索されますが、ほとんどすべての答えは、それを解決しないことがあり、これに

+0

を使用し、トップ

use App\Http\Requests\ArticleRequest

引数 として完全なクラス名を使用する必要はありませんで、クラスをインポートプロジェクトの認証システムを作成していますか? –

答えて

0

変更、それはそれを動作させるために:

public function store(ArticleRequest $request) 
+0

あなたはdownvoteを説明できますか? –

0

すでにちょうど

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 –

関連する問題