Как добавить путь к php's include_path в .htaccess
-
16-09-2019 - |
Вопрос
В настоящее время на моем сайте я использую такие операторы, как:
include 'head.php';
include '../head.php';
include '../../head.php';
В зависимости от того, сколько вложенных папок глубоко я. Я уверен, что есть лучший способ сделать это.
я убеждена .htaccess
это решение, но я не уверен, как его реализовать. Если я вставлю:
php_value include_path "public/html/root"
... я теряю остальные пути (/usr/lib/php
, так далее). Я наивно попробовал:
php_value include_path $include_path . "(path)"
Но, конечно, это не сработало. Как я мог бы сдать или добавить один путь к этому списку с .htaccess
?
Решение
Если вы не можете редактировать php.ini
Файл, вы можете добавить
set_include_path(get_include_path() . PATH_SEPARATOR . $path_to_add);
перед вашим include
заявления.
Однако, если у вас есть include
или же require
Проблемы, это, вероятно, запах кода. Лучшее решение было бы хороший объектно-ориентированный дизайн с хорошим __autoload
функция
Другие советы
Создать в подводных режиссерах файл .htaccess
с содержимым
php_value include_path '../../includes'
или что -то еще include_path
подходит для этого каталога.
Преимущества:
- Нет уродливого взлома с множественным включает в себя разной глубины. Просто
include 'head.php'
. - Нет зависимости от редактирования
php.ini
. - Не нужно использовать
set_include_path()
Прежде чем включать. - Нет зависимости от включения констант, как
include INCLUDE_PATH . 'head.php'
.
Цена, чтобы заплатить:
Вы засоряете свои подводные директории, каждый с файлом .htaccess
.