簡體   English   中英

Class App \\ Http \\ Controllers \\ Requests \\ ArticleRequest不存在Laravel5.3

[英]Class App\Http\Controllers\Requests\ArticleRequest does not exist Laravel5.3

其實我是php和Laravel5.3的新手,當我想設置表單請求時我有這個問題(做一個簡單的博客頁面)

Route.php第339行中的ReflectionException:類App \\ Http \\ Controllers \\ Requests \\ ArticleRequest不存在

這是我的控制器代碼(Filename: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');
        }
    }

並請求文件代碼:(路徑請求中的文件名: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'
        ];
    }
}

我的Route / 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('/','SiteController@index');


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

    Route::get('/articles','ArticlesControllers@index');
    Route::get('/articles/create','ArticlesControllers@create');
    Route::get('/articles/{id}','ArticlesControllers@show');


    Route::post('/articles/store','ArticlesControllers@store');

我如何擺脫這個令人討厭的問題,我一直在StackOverFlow上搜索,但幾乎所有的答案都可能無法解決....

將其更改為此以使其工作:

public function store(ArticleRequest $request)

你已經在頂部導入了這個類

use App\\Http\\Requests\\ArticleRequest

不需要使用完整的類名作為參數使用

public function store(ArticleRequest $request)

要么

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM