이상한 문제가 있습니다. 나는 내 모든 클래스를 처리하는 __autoload
함수를 가지고있다. 내 코드의 한 지점, 즉 new XLSReader()
과 new CVSReader()
사이에서 __autoload
함수는 사용이 중지됩니다. 결과적으로 class CSVReader not found
오류가 발생합니다. 이것은 내가 수동으로 CSVReader
클래스를 포함하고 자동로드 된해야 다음 수업에 not found
오류를 가지고 있기 때문에 __autoload
기능, 작동이 중지되었습니다 알고 __autoload
정지가__autoload가 작동을 멈추는 이상한 문제
// Get general data
printf("Fetching data from \"%s\"... ", $data_file);
$csvreader = new \XLSReader($data_file, $columnsToFetch);
$data = $csvreader->getData();
print("Done.\n");
// Get IP data
print("Loading IP addresses... ");
$csvreader = new \CSVReader($ip_file, null);
$ip_data = $csvreader->getData();
print("Done.\n");
작업 코드입니다.
위의 코드 조각보다 먼저 자동 로딩이 제대로 작동하는지 확인하십시오. 또한 __autoload
함수는 다음과 같습니다.
// Autoload
function __autoload($classname)
{
$classname = str_replace("\\", "/", $classname);
$path = "code/" . $classname . ".php";
if(is_file($path))
{
include($path);
return true;
}
else
{
return false;
}
}
아이디어가 있습니까?
파일'코드/CSVReader.php'가 존재합니까? * nix 기반 시스템은 대소 문자를 구분합니다 **. – Crozin
__autoload() 함수에서 $ classname을 반향합니다. CVSReader에 관해서 네임 스페이스와 혼합되어있는 것처럼 보입니다. –