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

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

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

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

PHP

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

Q&A

解決済

1回答

3625閲覧

ミドルウェアの実行ができない

tanukitii

総合スコア44

Laravel

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

PHP

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

0グッド

0クリップ

投稿2018/11/11 08:09

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

以上です。よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

自己解決

hello.blade.phpというファイルの中身に問題があったようです。
修正したらアクセスできました。お騒がせしました。

投稿2018/11/11 11:14

tanukitii

総合スコア44

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問