我正在使用一个带有各种目录的自制框架,我想创建一个constant
,它基本上输出我的应用程序文件夹所在的目录。
我可以通过宣布
define("DOC_ROOT", "/var/www/html/public/my-site.tld/");
我的public/index.php
文件中的某处,但出于某种原因,我想使用__DIR__, realpath(), dirname()...
的组合,因为我仍然不知道它为什么不适合我。
现在,让我们假设这是我正在使用的文件夹结构。
my-site.tld/
src/
public/
index.php
app/
configs/
constants.php/
views/
controllers/
bootstrap.php
由于bootstrap.php
首先要求constants.php
,然后index.php
加载bootstrap.php
,如图所示
// public/index.php
require '../boostrap.php`;
我们可以假设这个常量是第一个在应用程序中运行的常量。现在,问题在于声明一个doc根,它只输出my-site.tld的完整路径,或者换句话说
/var/www/html/public/my-site.tld /
对我来说已经不可能了,部分原因是回显DOC_ROOT
会在不同的文件中给出不同的路径。所以,我问有没有办法在常量文件中定义DOC_ROOT
,无论它在哪里被调用,它总是会输出主应用程序文件夹,而不是手动执行,如
define("DOC_ROOT", "/var/www/html/public/my-site.tld/");
这需要我手动更改该路径,我所做的一切都会更改或重命名我的文件夹。