Недостатки использования __DIR__

Я недавно натолкнулся на магическую константу __DIR__ при решении вопроса о включении скриптов в включены скрипты.

После некоторого чтения я не мог найти причину, чтобы не использовать __DIR__ префикс каждого пути в require или же include заявление.

Итак, мои вопросы — есть ли какие-либо известные недостатки / потенциальные побочные эффекты, которые следует учитывать при использовании __DIR__ . '/path/to/script.php' по сравнению с использованием относительных путей?

Благодарю.

0

Решение

PHP имеет два режима включения файлов: на основе относительных путей и на основе абсолютных путей:

require 'foo/bar.php';
require '/var/www/foo/bar.php';

При использовании относительных путей поиск выполняется на основе PHP включить путь, который в основном список каталогов PHP будет искать вещи, похожие на UNIX $PATH переменная окружения. Iif вы используете PEAR или другие инсталляторы модулей, которые устанавливают модули и файлы PHP в некоторые внешние каталоги, тогда имеет смысл использовать этот механизм для поиска и включения внешних модулей. Вы можете даже использовать этот механизм для файлов в вашем собственном приложении. Это дает вам больше свободы при развертывании приложений на сервере при принятии решения о точном размещении файлов.

тем не мение, на практике это почему-то оказалось довольно раздражающим, и вы столкнетесь с самыми разными проблемами при попытке использовать эту систему. Не в последнюю очередь потому, что PEAR и PECL оказались не особенно популярными, и композитор является де-факто механизмом управления зависимостями в PHP в наши дни. Таким образом, механизм включения по относительному пути практически мертв, и вы должны использовать абсолютные пути, для которых __DIR__ это действительно необходимо.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]