ThinkPhp에서 클래스 인스턴스를 생성 할 때 시스템은 클래스 이름에 따라 해당 파일을 자동으로로드하려고합니다. 클래스 파일이 프레임 워크에서 지정된 디렉토리에 배치되지 않으면 클래스에 오류 가보고됩니다.
솔루션 : 클래스 파일이 올바른 디렉토리에 있는지 확인하십시오. 자동으로로드되지 않으면 명시 적으로 소개 될 수 있습니다.
use app\모듈 이름\클래스 이름;
ThinkPhp는 네임 스페이스에 클래스를 구성하고 찾을 수 있으며 네임 스페이스 오류로 인해 클래스를 찾을 수 없게 될 수도 있습니다.
솔루션 : 클래스 파일에 정의 된 네임 스페이스를 확인하여 참조와 정확히 동일한 지 확인하십시오.
use 올바른 네임 스페이스\클래스 이름;
ThinkPhp는 클래스 이름을 인식 할 때 사례에 민감하며 불일치는 클래스 로딩 실패로 직접 이어집니다.
솔루션 : 코드에 사용 된 클래스 이름이 파일의 실제 정의와 정확히 동일한 지 확인하십시오.
기본적으로 ThinkPhp에서 인식하는 클래스 파일은 ".php"로 접미사됩니다. 다른 확장이 잘못 사용되면 시스템은 해당 클래스를로드 할 수 없습니다.
솔루션 : 클래스 파일 접미사가 ".php"인지 확인하십시오. 수동으로 지정 해야하는 경우 다음 방법으로 설정할 수 있습니다.
// 클래스 파일 접미사를 설정하십시오.php
think\Loader::addFileSuffix('.php');
ThinkPhp 프로젝트는 종종 자동으로 클래스의 자동로드를 위해 작곡가에 의존합니다. 자동로드 파일이 생성되거나 업데이트되지 않으면 클래스를 찾을 수 없습니다.
솔루션 : 프로젝트 루트 디렉토리로 이동하여 다음 명령을 실행하여 자동로드 파일을 재생하십시오.
composer dump-autoload
작곡가를 사용하여 클래스를 자동으로로드 할 때는 Composer.json 에서 네임 스페이스 및 디렉토리 경로가 올바르게 매핑되어야합니다.
솔루션 : composer.json 파일의 자동로드 구성을 확인하고 수정하여 아래와 같이 매핑이 올바른지 확인하십시오.
{
"autoload": {
"psr-4": {
"네임 스페이스\\": "해당 경로/"
}
}
}
완료 후 Composer DUMP-AUTOLOAD를 다시 실행하여 구성을 적용하도록하십시오.
"클래스가 존재하지 않는"ThinkPhp의 오류는 일반적으로 잘못 정렬 된 경로, 네임 스페이스 오류, 구성 누락 또는 작곡가 관련 문제에서 비롯됩니다. 항목별로 위의 세 가지 주요 원인을 확인하면 문제가 기본적으로 빠르게 위치하고 고정 될 수 있습니다.