PHP多态根需要

PHP多态根需要,php,directory,root,Php,Directory,Root,我有一个目录/文件树,如下所示: index.php /frame/main_class.php /frame/func/function_1.php /frame/func/function_1.php /cfg/config.php 奇怪的是它能工作。也许已经晚了,我有一个愚蠢的时刻,但不应该“require('cfg/config');”写“require('../cfg/config.php');” 如果它使用的是index.php的根,那么“require('func/fun

我有一个目录/文件树,如下所示:

index.php

/frame/main_class.php
/frame/func/function_1.php
/frame/func/function_1.php
/cfg/config.php



奇怪的是它能工作。也许已经晚了,我有一个愚蠢的时刻,但不应该“require('cfg/config');”写“require('../cfg/config.php');”

如果它使用的是index.php的根,那么“require('func/function_1.php');”应该不起作用,对吗

我对远程服务器进行了四次检查,认为可能有一两个散乱的文件。。。没有。 这两个require语句如何具有不同的基本路径

有人知道可能导致这种情况发生的代码片段吗?我正在使用一些$\u服务器变量,但我似乎没有更改其中任何一个


明确地说
包含目录名(_文件)/path/to/file.php'避免了这种混淆数据编码器


PHP引擎将在当前目录中查找请求的文件,但也将在INCLUDE\u PATH中定义的路径列表中查找这些文件。如果include路径列出了脚本运行的路径,那么给定的代码将正常工作。如果不是,那就不会


出于这个原因,依赖include路径来解析包含文件的路径不是一个好主意。您应该给出完整的路径

PHP引擎将在当前目录中查找请求的文件,但也将在INCLUDE_PATH中定义的路径列表中查找它们。如果include路径列出了脚本运行的路径,那么给定的代码将正常工作。如果不是,那就不会


出于这个原因,依赖include路径来解析包含文件的路径不是一个好主意。您应该给出完整的路径

明确地说
包含目录名(_文件)/path/to/file.php'避免了这种混乱。啊,这完全有道理。所以它检查include_路径,但没有找到它,所以它检查脚本路径并找到函数。对于cfg文件,它可能从ini中设置的include_路径中找到它当它位于名为frame的文件夹中时,它是如何工作的?@SamanthaP抱歉,但你的设计让我害怕@高登哈哈,我知道我知道。。。。。。。我有一些严重的自学设计问题。。。你应该看到我最近项目的完整代码。你今晚睡不好。类/条件requires中的类,PUBLIC作为默认值,等等。我正在尝试学习,显然很难:)明确地说
include dirname(_文件)/path/to/file.php'避免了这种混乱。啊,这完全有道理。所以它检查include_路径,但没有找到它,所以它检查脚本路径并找到函数。对于cfg文件,它可能从ini中设置的include_路径中找到它当它位于名为frame的文件夹中时,它是如何工作的?@SamanthaP抱歉,但你的设计让我害怕@高登哈哈,我知道我知道。。。。。。。我有一些严重的自学设计问题。。。你应该看到我最近项目的完整代码。你今晚睡不好。类内的类/条件要求、公共作为默认值等。我正在尝试学习,显然很难:)我可以问一个模糊的问题吗?从哪里开始的完整路径?从根开始。你可以很容易地用DIR和文件magic constantsCan我可以问一个模糊的问题吗?从哪里开始的完整路径?从根开始。使用DIR和文件magic常量可以相当容易地获得这一点
//index.php

require('frame/main_class.php');
new main_class;
//frame/main_class.php

class main_class{
    public function __construct(){
        require('func/function_1.php');
        require('func/function_2.php');
        require('cfg/config.php');
    }
}