Подскажите, как правильно подключать файлы, изначально я вычитал что нельзя обращаться к файлу в таком виде: Код (Text): require_once ( '../my_fns.php' ); надо писать так: Код (Text): require_once ( $_SERVER['root'] . 'my_fns.php' ); у меня устроено все так: в inc.php хранится то, что необходимо на всех страницах, например: Код (Text): session_start(); function __autoload($cn) { require_once ( $_SERVER['root'].'lib/'.$cn.'.php' ); } // и т.д. а во всех прочих страницах присутствует в самом начале: Код (Text): require_once ( $_SERVER['root'] . 'inc.php' ); я обращался так и все было, но сейчас я перехожу на страницу которая находится в не корневой папке: auth/login.php при этом в файле login.php присутствует запись: Код (Text): require_once ( $_SERVER['root'] . 'inc.php' ); и получаю ошибку, что данный файл не найден. Как быть, как правильно подключать файлы? очень не хочется в части файлов писать: Код (Text): require_once ( $_SERVER['root'] . '../inc.php' ); хочется однообразия или это не возможно в данном случае?
PHP ищет сперва текущий каталог , а затем отталкиваясь от текущего места положения ищет целевой каталог - слишком много поисков при $_SERVER['root'] он ни чего не ищет, а знает точно. примерно как то так.
Косяк обнаружен: $_SERVER['root'] не существует, за место него должно быть - $_SERVER['DOCUMENT_ROOT'] тему наверное можно удалить.
Интересно а они замеряли или просто рассуждали за чашкой чая после школы... Даже если и так, сколько инклудов используется для создания 1 страницы? Пусть даже 30, выигрыш в производительности будет не заметен. Чувствую не с той оптимизации ты начал.
30 О_о для меня каждый include как соль на рану, стараюсь их минимизировать до.. ну там еще один косяк есть с простыми путями, я сейчас точно не помню как он происходит, но там что то типа когда я из не корневой папки подключаю файл, а он в свою очередь подключает файл из корневой папки или как то так. А возможно та ошибка что у меня сейчас возникла она и есть, вообщем то это лечится при помощи $_SERVER['DOCUMENT_ROOT']
Я просто очень экономный человек А меня уже напугали что одно подключение пустого файла равно примерно 20-30 вызовам пустой функции, вот и экономлю производительность
1 вызов фпустой функции у меня это где-то 8 микросекунд. это 125 тысяч вызовов в секунду. вы эта, вы пейте валерьяночку, занимайтесь йогой и пишите код не обращая внимания на всю эту хрень.