非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Laravel】 参考書通りに書いたのにTarget class [〇Controller] does not existというエラーでハマって対処するまで

   

以下のようなエラーに遭遇しました。参考書のコントローラーの章で記載の通りに記述したのにです。

 

Target class [〇Controller] does not exist.…つまり生成したコントローラークラスが存在していないというわけです。

結論を言うと参考書が間違っていました。web.phpの以下の赤線の部分です。この参考書通りちゃんと存在しているクラス名を書いたのですが上記のエラーが出たわけです。正解はパスの記述が必要なのです。

 

web.phpには本来はこのように書かなければいけないようです。

Route::get('hello', 'App\Http\Controllers\HelloController@index');
 

 

ちなみにHelloController.phpのソースコードはこうなっています。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HelloController extends Controller{
    public function index(){
        return <<<EOF
        <!DOCTYPE html>
        <html lang="en">
        <head>
           <title>Controller Test</title>
        </head>
        <body>
           <h1>Controller Test</h1>
        </body>
        </html>

EOF;
    }
}
 

 

結果はご覧の通り。ちゃんとアクセスできました。

 

 

スポンサーリンク

 - Laravel