1

假设我们在目录“includes”中有一个名为“include.php”的文件,该文件包含来自子目录“objects”的另一个文件“manager.php”,

include "objects/manager.php";

现在“manager.php”是一个类名“manager”,它有一个包含以下功能的函数:

public function includeDBObject()
{
    include "databaseobjects/mysql.php";
} 

这个包含是另一个类,“mysql 类”,它具有以下内容:

public $name = "I am in the MySql class";

public function getName()
{
    return $this->name;
}

现在回到原来的include,“include.php”,内容如下

include "objects/manager.php";//as shown above

$a = new manager;
$a->includeDBObject();
$b = new mysql;
echo $b->getName();

这样做的结果是:“我在 MySql 类中。”

$a->includeDBObject 不应该触发无法找到文件的错误,因为指定的目录与“include.php”所在的位置有关吗?

根据 php 文档,include 确实:“include 语句包含并评估指定的文件。”

http://php.net/manual/en/function.include.php

因此,由于 manager.php 包含在其包含函数中的目录应该引发错误,因为它被“包含”在不同的目录中。

任何解释都有助于参考文档。

谢谢

4

0 回答 0