定义一个始终返回特定文件夹的常量

时间:2014-07-29 16:43:48

标签: php filepath

我正在使用一个带有各种目录的自制框架,我想创建一个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/");

这需要我手动更改该路径,我所做的一切都会更改或重命名我的文件夹。

1 个答案:

答案 0 :(得分:0)

将URL存储在标准常量中:

define("CONSTANTNAME",     "VALUE");

PHP Constant Documentation