個人的によく見かけるこのエラーについて
【Target class [App\Http\Controllers***] does not exist. 】
解決方法を調べると、主にこれら4つの方法が出てきます。
--
①Controller.php内の namespaceのパスに誤りがある。
namespace App\Http\Controllers\Auth;
②route内のパスに誤りがある。
Route::get('/hello','App\Http\Controllers\HelloController::class','index');
③routeでController名だけ指定した場合に、そもそも指定のControllerをuseし忘れている。
use App\Http\Controllers\HelloController; ←useしてる?
Route::get('/hello','HelloController::class','index');
④大文字小文字の違い・スペルミス
× App\Http\Controller\ *** ←Controllerにsがついてない!
--
先輩エンジニアの皆さん、本当にいつも良質な情報をありがとうございます(涙)
--
でもね、エンジニアの勉強を始めたころに
どれにも当てはまらないエラーにどハマりしまして
無駄に半日ほど過ごした経験があります。
--
ということで、5つ目の解決方法を提示させていただきたいと思います。
1〜4で解消できなかった方は、ぜひ以下を試してみてください。
(訂正前)
Route::get('user/top', [App\Http\Controllers\UserController::class, 'top']);
(訂正後)
Route::get('user/top', [\App\Http\Controllers\UserController::class, 'top']);
わかりましたか?
_人人人人人人人人人人人人人人人人人人人人人人_
> パスの前にバックスラッシュ一本つけるだけ <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
以上です。
ご清聴ありがとうございました。
※なぜこのバックスラッシュが必要なときと必要でない時があるのか
わかりきっていない私目のためにお優しい有識者の方ご教授くださりますと幸いです。