Larvel8系でLaravel青本を進めていると出てくるエラー
PHPフレームワークLaravel入門 第2版 (日本語) 単行本(以下青本)を使う方も多いのではないでしょうか。
この本の出版は2019年12月と少し古いもののLaravel7系でも動作確認できていると著書の最初の方に書いてあります。
しかし!
2020年9月8日に出たばかりのLaravel8系を使うと一点問題が起きます。
9月8日以降にLaravelのプロジェクトを作った方は普通どおり操作すればLaravel8系になるのでその方が対象です。
具体的にはweb.phpを記載する際、これまで
Route::get('hello','HelloController@index')
と書いていた所をLaravel8系では
use App\Http\Controllers\HelloController;
Route::get('hello', [HelloController::class, 'index']);
と書くんです。
大事なのはuse.....もいる所。そしてコントローラー名の記載方法が””の中に書くものから[]内に書くという方法へと変わったことです。
青本でいうとp43に初めて影響が出てくるのですが、これを従来の方法で書くと
Target class [HelloController] does not exist.
と怒られてしまいます……