Laravel 8에서 "대상 클래스를 찾을 수 없음" 오류 해결
작업 시 "대상 클래스 컨트롤러가 존재하지 않습니다" 오류 발생 Laravel 8은 실망스러울 수 있습니다. 이 문제는 네임스페이스의 자동 접두사 지정을 제거하는 Laravel의 기본 구성 변경으로 인해 발생합니다.
문제 이해
이전 Laravel 버전에서는 경로 그룹이 자동으로 네임스페이스 접두사이지만 이 동작은 Laravel 8에서 제거되었습니다. 결과적으로 경로에서 컨트롤러를 참조할 때 FQCN(Fully Qualified Class Name)을 사용해야 합니다. 적절한 해결을 보장하는 데 사용됩니다.
솔루션 옵션
// 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!