В настоящее время на моем сайте я использую такие утверждения, как:
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
или require
проблем, это, вероятно, запах кода. Лучшим решением будет хороший объектно-ориентированный дизайн с хорошей функцией __autoload
.
Создайте в под-подкаталогах файл .htaccess
с содержимым
php_value include_path '../../includes'
или любой другой include_path
подходит для этого каталога.
Преимущества:
include 'head.php'
. php.ini
. set_include_path()
перед включением. include INCLUDE_PATH . 'head.php'
include INCLUDE_PATH . 'head.php'
. Цена для оплаты:
Вы засоряете свои под-подкаталоги каждый файлом .htaccess
.