Недавно я работал над интерфейсным приложением в среде linux, которое использует пространства имен для структурирования своих классов. Там не было никаких проблем, включая файлы. Однако я клонировал тот же сайт на мой компьютер с Windows (используя xampp php 5.4), и я получаю сообщение об ошибке ниже. Приложение использует функцию автозагрузки. Класс находится внутри пространства имен «core» и находится в папке с именем «core» вне корневого веб-каталога и в том же каталоге, что и файл Autoloader.php. Функция автозагрузки выглядит следующим образом:
public function autoLoad($name){
if (!$this->requiredLibrariesLoaded) {
$this->requireLibraries();
}
$path = NULL;
$namespaceParts = explode('\\', $name);
$pathTail = implode(DIRECTORY_SEPARATOR, $namespaceParts) . '.php';
$tryPath = $this->rootPath . '/' . $pathTail;
if(is_readable($tryPath)){
$path = $tryPath;
}
else echo $tryPath."\n";
if ($path) {
require_once($path);
}else{
// throw new Exception("Class $name does not exist.");
}
}
Неустранимая ошибка: класс ‘core \ AlternativeParser’ не найден
Я не могу понять, почему я получаю эту фатальную ошибку. Я полагаю, что мне, возможно, следует спросить: есть ли что-нибудь о переходе из среды Linux в среду Windows, которая потенциально может вызывать проблемы с пространством имен?
Спасибо
Задача ещё не решена.
Других решений пока нет …