Вот проблемма: на локалхосте - работает а на сервере нет. index.php Код (Text): function __autoload($class_name){ $class_name = $class_name.'.php'; if (file_exists(APP_PATH.$class_name)) { require_once APP_PATH.$class_name; } elseif(file_exists(SYS_PATH.$class_name)){ require_once SYS_PATH.$class_name; } } $s = new System(); $s->run(); Вот первый скрипт (в данный момент System.php) подгружается а следующие - нет! Решение проблеммы не нашел... Пробывал через spl_autoload_register(), но результата мне не принесло
пример константы: Код (Text): define("APP_PATH",dirname(__FILE__).DIRECTORY_SEPARATOR."site".DIRECTORY_SEPARATOR);
Исправил сам! Незнаю чё ето было, но вот так заработало: Код (Text): spl_autoload_register('autoload'); function autoload($class_name){ $class_name = str_replace('_',DIRECTORY_SEPARATOR,$class_name).'.php'; if (file_exists(APP_PATH.$class_name)) { @include_once(APP_PATH.$class_name); } elseif(file_exists(SYS_PATH.$class_name)){ @include_once(SYS_PATH.$class_name); } else{ die('Error!!!'); } }
include_once медленнее require_once, делал все скрипты 1 разовые скрипты все на рекуире и на инклуде, заметил, что рекуер оказался быстрее примерно в 3-5 раз.
Бывает, что не видно, тоже заметил, но когда увидел факт, что действительно оно есть и быстрее, по этому и сказал))
Rim Было такое однажды. Проблема была из-за того (наверно), что в подключаемой сторонней либе уже использовался __autoload(), и второй (мой который) не обрабатывался. Через spl_autoload_register() тогда и сделал костыль.