ただController名を記述するだけではControllerは読み込めない。
Laravel8からは
Route::get('/hello', 'HelloController@index');
のようなControllerの呼び出しはTarget class [HelloController] does not existのように、該当のControllerがないというエラーが出てきてしまう。
Controllerを読み込むか、namespaceをデフォルトで設定するか。
公式によると、
use App\Http\Controllers\UserController;
Route::get('/user/{id}', [UserController::class, 'show']);
のようにuseを使いcontrollerを読み込んで使用している。
参考:https://readouble.com/laravel/8.x/ja/controllers.html
上記はuseを使わずまとめて記述してしまうことも可能である。
Route::get('/user/{id}', [App\Http\Controllers\UserController::class, 'show']);
もしくは、laravel8からコメントアウトされた記述を戻すことだ。
app/Providers/RouteServiceProvider.phpのRouteServiceProviderクラスにA
pp\Http\Controllersの値を持つ$namespaceプロパティがある
コメントアウトされている
// protected $namespace = 'App\Http\Controllers';
のコメントアウトを外して有効にする。
詳しくはこちらを参考にしてほしい:https://readouble.com/laravel/8.x/ja/upgrade.html