質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

3302閲覧

Laravelのリクエストクラスがみつからない

noricoonco

総合スコア19

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/06/19 03:20

前提・実現したいこと

Laravelで簡単なフォームを作成しています。
Requestを使ってバリデーションを行いControllerに返しています。

ルーティングは以下です。

Route::get('manage/index', 'ManageController@getIndex');
Route::post('manage/confirm', 'ManageController@getPost');

発生している問題・エラーメッセージ

ReflectionException
Class Illuminate\Http\Requests\ManageRequest does not exist

該当のソースコード

ManageController

1<?php 2 3namespace App\Http\Controllers; 4use App\Http\Controllers\Controller; 5use Illuminate\Http\Requests\ManageRequest; 6use App\Receipt; 7 8class ManageController extends Controller { 9 10 public function getIndex() { 11 12 return view('manage.index'); 13 } 14 15 public function getPost(ManageRequest $request) { 16 17 $receipts = new Receipt; 18 19 20 $receipts->name = $request->name; 21 $receipts->title = $request->title; 22 $receipts->price = $request->price; 23 $receipts->categoly = $request->categoly; 24 25 $receipts->save(); 26 return view('manage.select'); 27 28 29 30 } 31 32}

ManageRequest

1<?php 2 3namespace App\Http\Requests; 4use Illuminate\Foundation\Http\FormRequest; 5 6 7class ManageRequest extends FormRequest { 8 9 /** 10 * Determine if the user is authorized to make this request. 11 * 12 * @return bool 13 */ 14 public function authorize() { 15 return true; 16 } 17 18 /** 19 * Get the validation rules that apply to the request. 20 * 21 * @return array 22 */ 23 public function rules() { 24 return [ 25 'name' => 'required', 26 'title' => 'required|email', 27 'categoly' => 'required', 28 'price' => 'required', 29 ]; 30 } 31 32 public function attributes() { 33 return[ 34 'name' => 'お名前', 35 'title' => '用途', 36 'categoly' => '種別', 37 'price' => '金額', 38 ]; 39 } 40 41} 42

index

1 2<!--@extends('manage.layout') 3@section('container')--> 4<article class="index"> 5 <h1>一覧画面</h1> 6 7 <form action="confirm" method="post"> 8 {{ csrf_field() }} 9 10 <ul> 11 <li> 12 分類 13 <input type="text" name="title"> 14 <p>{{ $errors->first('title') }}</p> 15 </li> 16 <li> 17 名前 18 <input type="text" name="name"> 19 20 <p>{{ $errors->first('name') }}</p> 21 </li> 22 <li> 23 種別 24 <input type="text" name="categoly"> 25 <p>{{ $errors->first('categoly') }}</p> 26 </li> 27 <li> 28 金額 29 <input type="text" name="price"> 30 <p>{{ $errors->first('price') }}</p> 31 </li> 32 <!-- <li> 33 DATE 34 </li>--> 35 </ul> 36 <button type="submit" name="submit" value="add">送信</button> 37 <input type="hidden" name='_tokun' value="{{csrf_token()}}"> 38 </form> 39 40 41 <br> 42 <br> 43 <br> 44 45 46 47 48 49 50 51</article> 52<!--@endsection--> 53

試したこと

namespaceを確認しました。
似たような問題でhttps://teratail.com/questions/91573を参考にしましたが、
FormRequestを作成してもなおりません、(php artisan make:request FormRequest)
ぜひともご教授願います。

補足情報(FW/ツールのバージョンなど)

Laravel5.7
php7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エラーの通りです。
こうではないでしょうか。

use Illuminate\Http\Requests\ManageRequest;

use App\Http\Requests\ManageRequest;

Illuminate\Http\Requests\配下には独自クラス(ManageRequest)作ってないですよね。

投稿2019/06/19 03:39

編集2019/06/19 03:40
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

noricoonco

2019/06/19 04:39

ありがとうございます。。 そもそもIlluminateとAppについて知識が浅かったと思います。助かりました。
m.ts10806

2019/06/19 04:45

というより名前空間だと思います。 定義した場所をちゃんと指定するように徹底すると今回のような問題は未然に防げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問