ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 8: 「ターゲット クラス コントローラーが存在しません」エラーが発生するのはなぜですか?その修正方法は何ですか?
Laravel 8 を使用すると、「ターゲット クラス [コントローラー クラス] が存在しません」というエラーが発生する場合があります。特定のコントローラーにアクセスしようとしているときに、「存在します」というメッセージが表示されます。このエラーは、Laravel 8 での新しいルーティング動作の導入に起因します。
Laravel の以前のバージョンでは、ルート グループのコントローラーに自動名前空間プレフィックスが適用されていました。ただし、Laravel 8 では、この動作はデフォルトで削除されました。これは、ルート内で完全修飾クラス名 (名前空間を含む) を使用してコントローラーを参照する必要があることを意味します。
このエラーを解決するには、いくつかのオプションがあります。
完全修飾クラス名を使用します: 完全修飾クラス名を使用してコントローラーを参照します名前空間を含むクラス名。例:
Route::get('register', 'App\Http\Controllers\Api\RegisterController@register');
名前空間プレフィックスをルートに追加する: ルート グループに名前空間プレフィックスを手動で追加します。 RouteServiceProvider に次の行を追加します:
Route::prefix('api') ->middleware('api') ->namespace('App\Http\Controllers') ->group(base_path('routes/api.php'));
Laravel 8 の新しい動作に従ってルーティング構文を調整することで、「ターゲット クラス コントローラー」を排除できます。存在しません」というエラーが発生します。プロジェクトのニーズに最も適したアプローチを使用してください。詳細については、必ず Laravel の公式ドキュメントを参照してください。
以上がLaravel 8: 「ターゲット クラス コントローラーが存在しません」エラーが発生するのはなぜですか?その修正方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。