Como anexar um caminho para incluir o php em .htaccess
-
16-09-2019 - |
Pergunta
Atualmente no meu site, estou usando declarações como:
include 'head.php';
include '../head.php';
include '../../head.php';
Dependendo de quantas pastas aninhadas eu tenho. Tenho certeza de que há uma maneira melhor de fazer isso.
Estou convencido .htaccess
é a solução, mas não tenho certeza de como implementá -la. Se eu inserir:
php_value include_path "public/html/root"
... eu perco o resto dos meus caminhos (/usr/lib/php
, etc). Eu tentei ingenuamente:
php_value include_path $include_path . "(path)"
Mas é claro que isso não funcionou. Como eu poderia adquirir ou anexar um único caminho a esta lista com .htaccess
?
Solução
Se você não pode editar o php.ini
Arquive -se, você pode adicionar
set_include_path(get_include_path() . PATH_SEPARATOR . $path_to_add);
antes do seu include
declarações.
No entanto, se você se encontrar tendo include
ou require
problemas, provavelmente é um cheiro de código. A melhor solução seria um bom design orientado a objetos com um bom __autoload
função.
Outras dicas
Crie nos sub-diretores sub-sub-diretores um arquivo .htaccess
com o conteúdo
php_value include_path '../../includes'
como queiras include_path
é adequado para esse diretório.
Vantagens:
- Nenhum hack feio com múltiplo inclui com profundidade diferente. Apenas
include 'head.php'
. - Sem dependência da edição
php.ini
. - Não há necessidade de usar
set_include_path()
antes de incluir. - Sem dependência de incluir constantes como
include INCLUDE_PATH . 'head.php'
.
Preço a pagar:
Você espalha seus sub-diretores de sub-sub-sub-sub-um com um arquivo .htaccess
.