laravel5.5を勉強しています。また,Homesteadを使用しています。
ミドルウェアが何かを知り,実行してみようと思ったのですが,エラーがでてしまいます。
詳細を下記に表記しました。どなたか教えていただけるとありがたいです。
以下のコードで実行しました。
web.php
laravel
1Route::get('/hello', 'HelloController@index')->middleware(HelloMiddleware::class);
App\Http\MiddlewareにHelloMiddleware.phpを作成し,以下のようにコーディング
laravel
1<?php 2 3namespace App\Http\Middleware; 4 5use Closure; 6 7class HelloMiddleware 8{ 9 /** 10 * Handle an incoming request. 11 * 12 * @param \Illuminate\Http\Request $request 13 * @param \Closure $next 14 * @return mixed 15 */ 16 public function handle($request, Closure $next) 17 { 18 $data = [ 19 ['name'=>'taro', 'mail'=>'taro@yamada'], 20 ['name'=>'hanako', 'mail'=>'hanako@flower'], 21 ['name'=>'sachiko', 'mail'=>'sachiko@happy'], 22 ]; 23 $request->merge(['data'=>$data]); 24 return $next($request); 25 } 26}
App\Http\ControllersにHelloController.phpを作成し,以下のようにコーディング
laravel
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6 7class HelloController extends Controller 8{ 9 public function index(Request $request){ 10 return view('hello.index', ['data=>$request->data']); 11 } 12}
http:homestead.test/helloにブラウザでアクセスすると
ReflectionException(-1) Class HelloMiddleware does not exist
と表示されます。最初はApp\Http下のKernel.phpにミドルウェアを登録しなければいけないのかと思ったのでKernel.phpを以下のように修正しました。
laravel
1protected $middleware = [ 2 ......(省略) 3 \App\Http\Middleware\HelloMiddleware::class 4];
としました。が,同様にアクセスしても上記と同じメッセージがでます。
ReflectionException (-1) Class HelloMiddleware does not exist
以上です。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。