我可以在另一个类中实例化PHP类吗?

2022-08-30 11:11:25

我想知道是否允许在另一个类中创建一个类的实例。

或者,我是否必须在外部创建它,然后通过构造函数将其传入?但是,在不知道我是否需要它的情况下,我就会创建它。

示例(数据库类):

class some{

if(.....){
include SITE_ROOT . 'applicatie/' . 'db.class.php';
$db=new db

答案 1

不能在另一个类中定义一个类。应包含类外其他类的文件。在您的情况下,这将为您提供两个顶级类和.现在,在 构造函数中,您可以决定创建 一个 .例如:dbsomesomedb

include SITE_ROOT . 'applicatie/' . 'db.class.php';

class some {

    public function __construct() {
        if (...) {
            $this->db = new db;
        }
    }

}

答案 2

人们说可以“在类中创建一个类”,这似乎意味着可以在一个类中创建一个对象/实例。我还没有在另一个类定义中看到实际类定义的示例,如下所示:

class myClass{

    class myNestedClass{

    }

}

/* THIS IS NOT ALLOWED AND SO IT WON'T WORK */

由于问题是“是否可以在另一个中创建一个类”,我现在只能假设这是不可能的。


推荐