我有最奇怪的問題。我有一個__autoload
函數來處理我所有的類,包括。在我的代碼中的一個點上,即在new XLSReader()
和new CVSReader()
之間,__autoload
函數剛剛停止使用。因此我得到class CSVReader not found
錯誤。這是__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
功能已停止工作,因爲我手動包括CSVReader
類,並上了隔壁班的那個應該是自動加載not found
錯誤。
爲了說清楚,在上面的代碼片段之前,自動加載就像它應該那樣工作。此外,這裏是__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 2011-05-13 14:08:04
在__autoload()函數中聲明$ classname。當涉及到CVSReader時,您似乎混淆了命名空間。 – 2011-05-13 14:12:23