Laravel 8 での「ターゲット クラスが見つかりません」エラーへの対処
作業中に「ターゲット クラス コントローラーが存在しません」というエラーが発生するLaravel 8 はイライラするかもしれません。この問題は、名前空間の自動プレフィックス付けを排除する Laravel のデフォルト設定の変更が原因で発生します。
問題について
以前の Laravel バージョンでは、ルート グループは自動的に名前空間プレフィックスが付いていますが、この動作は Laravel 8 で削除されました。その結果、ルート内でコントローラーを参照するときは、完全修飾クラス名が使用されます。適切な解決を確保するには、(FQCN) を使用する必要があります。
ソリューション オプション
// Register route using FQCN Route::get('register', 'App\Http\Controllers\Api\RegisterController@register');
a。ルート グループに名前空間を追加します:
// Add namespace to 'api' route group Route::prefix('api') ->middleware('api') ->namespace('App\Http\Controllers') ->group(base_path('routes/api.php'));
b. $namespace プロパティを使用する (オプション):
// Set namespace property in RouteServiceProvider protected $namespace = 'App\Http\Controllers';
$namespace プロパティを設定すると、アクションへの URL を簡単に生成できます。
以前の Laravel バージョンからのアップグレード:
以前の Laravel バージョンからアップグレードする場合は、次のことができます。 RouteServiceProvider の $namespace プロパティのコメントを解除して、ルートの自動名前空間プレフィックスを復元します。
追加メモ:
以上がLaravel 8で「ターゲットクラスが見つかりません」エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。