在几个文件中包含两个类。一个班级到另一个班级

时间:2017-11-20 21:48:44

标签: php class oop

我有两个类:帐户和数据库

帐户类需要使用Database类,但Account类包含大量文件,在某些文件中,Database类已经存在,我收到错误。

我知道我可以检查数据库类在包含数据库类之后是否存在。但有没有一种标准的方法可以做到这一点?

1 个答案:

答案 0 :(得分:-1)

您应该考虑在父类中仅使用数据库实例:

require_once('Database'); // Try to move this part to autoloader

class Base {
    private static $db;

    public function db() {
        if (empty(self::$db)) {
            self::$db = new Database();
        }

        return self::$db;
    }
}

class Account extends Base {
    public function test() {
        $this->db()->someMethodFromDatabase();
    }
}

class User extends Base {
    public function test() {
        $this->db()->someMethodFromDatabase();
    }
}

而不是使用大量require尝试autoloading your classes