что
Используя. в пути include допускает относительное включение, поскольку это означает текущий каталог . Тем не менее, более эффективно явно использовать include './file', чем PHP, который всегда проверяет текущий каталог для каждого include.
на самом деле попробовал сказать?
Предположим, вы хотите использовать include_path
искать в папке /somepath/foo/includes
включаемых файлов, если вы не укажите путь в явном виде. У вас может быть большая часть ваших включенных файлов, поэтому это должно быть не слишком неэффективным.
Теперь вы в том числе baz.php
, xzy.php
и 123.php
из этого каталога - и если вы дали .
первых в include_path
, то PHP будет искать в текущем каталоге первых всегда, хотя в большинстве случаев файл будет находиться в /somepath/foo/includes
папка.
Если вы не указать .
в начале вашего пути включает в себя и использовать ./abc.php
явно, когда вы включаете файл из текущего каталога (частный случай, а не один из ваших «нормальных» включает в себя), то для все другие из включаемых файлов, которые вы просто включаете использование baz.php
, xzy.php
и 123.php
, PHP будет не должны сначала найти текущий каталог - что это бесполезно, так как эти файлы находятся в вашей специальных включают папку; так что PHP может пойти посмотреть там, в первую очередь.
Я почти разместил это слово в слово - хотя я хотел бы отметить, что это все еще микро -оптимизация и что-то, что я ожидаю, будет обрабатываться автоматически, если вы будете использовать какой-то кеш-код операции, но я не могу найти информацию об этой части. Я не думаю, что ты знаешь иначе? – Emissary
Спасибо - я думаю, это гораздо лучшее объяснение, чем официальные документы. Я думаю, что я подсознательно либо имел бы все мои «включенные» файлы в одну и ту же папку _or_, просто включив «специальные» в любом случае - так что хорошо знать, что это то, что рекомендуется! – ChrisW
@ Эмиссар: Не знаю. И я согласен, это скорее микро-оптимизация. Указание большого количества включенных путей следует избегать, хотя я думаю, потому что просмотр нескольких каталогов до тех пор, пока не будет найден «окончательно» включенный файл, для меня не очень хорошо; и я думаю, что каждый раз указывать полный путь (вы должны знать, где находятся ваши включенные файлы, правильно?) - лучший способ - либо использовать абсолютный путь от корня сервера (возможно, заданный с помощью настраиваемого константного базового пути), или указать именно _one_ 'include_path' каталог в качестве базы от того, где искать. – CBroe