У меня самая странная проблема. У меня есть __autoload
функция, которая обрабатывает весь мой класс, включая. Однажды в моем коде, а именно между new XLSReader()
и new CVSReader()
, функция __autoload
просто перестает использоваться. Следовательно, я получаю class CSVReader not found
ошибок. Это код, где __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;
}
}
Есть идеи?