Извините за мой плохой язык 🙂
На моем локальном apache 2.2 php 5.3.13 все ОК, но на удаленном сервере (php 5.3 тоже) исключение логики spl_autoload:
Неустранимая ошибка: необработанное исключение «LogicException» с сообщением «Класс
Не удалось загрузить систему \ Core \ Helper \ Helper ‘в
/home/u737840143/public_html/index.php:6 Трассировка стека: # 0
/home/u737840143/public_html/index.php(6):
spl_autoload (‘System \ Core \ Hel …’) # 1 {main} добавлено
/home/u737840143/public_html/index.php в строке 6
Код:
<?php
spl_autoload_extensions('.php');
spl_autoload_register();
\System\Core\Helper\Helper::getLanguage();
$router = new \System\Router\Router();
$router->init();
Структура удаленной папки соответствует локальной.
Я нашел ответ — spl_autoloader()
не может корректно работать с прописными буквами во многих операционных системах, но в Windows это работает хорошо.
Итак, после переименования всех папок в нижнем регистре (да, и переписывания пространств имен во ВСЕХ ФАЙЛАХ …) все начало работать.
<?php
spl_autoload_extensions('.php');
spl_autoload_register();try {
\system\core\helper\Helper::getLanguage();
$router = new \system\router\Router();
$router->init();
} catch (\Exception $e){
echo $e;
}
Других решений пока нет …