0
내 includes 폴더에 Database.class.php라는 데이터베이스 클래스를 만들었습니다. 내 코드 :자동 로딩 클래스
require_once 'includes/smarty/Smarty.class.php';
require_once 'includes/admin.functions.php';
function __autoload($class) {
require_once 'includes/'.$class.'.class.php';
}
try {
$db = Database::getInstance();
} catch (PDOException $e) { die('Error connecting to database.'); }
이 코드에 문제가 있습니까? 처음 2 개는 잘 작동하며, "클래스 데이터베이스를 찾을 수 없음"오류 만 표시됩니다.
자동로드는 새 개체를 만들 때만 작동합니까? 그렇다면 싱글 톤에 대한 해결 방법이 있습니까? 아니면 내가 잘못하고있는거야?
감사합니다.
편집 : 수동으로 포함하면 작동합니다. 따라서 자동 로딩과 관련이 있습니다.
require_once 바로 전에 __autoload 함수에서 디버깅 메시지를 출력하십시오 ... 해당 부분이 작동하는지 확인하십시오. –
여기서는 자동 로딩이 정상적으로 작동합니다. 'includes/Database.class.php'가 실제로 존재하고'Database' 클래스를 정의합니까? 그것에 대해 100 % 확신하십니까? –
파일이 존재하지 않는다면 오류가 발생하여 Database라는 클래스가없는 것 같아요. –