如何通过创建另一个 Class 对象的 Class 访问方法?

How to Access Methods through a Class that creates object of another Class?

我有一个名为 Model

的 class
<?php
class Model {
    function __construct() {
        $this->db = new Database(DB_TYPE, DB_HOST, DB_NAME, DB_USER, DB_PASS);
    }
}

我想从 class 对象访问方法,这个构造正在实例化它来自一个名为 数据库 的 class 并且它有像插入这样的方法使用PDO 该错误表明 class Model 不包含来自 Database class 的方法 我不明白如何通过数据库 class

中存在的模型 class 访问方法
$db = new Model();
$db->insert('app', 'asdfsdf');

Fatal error: Call to undefined method Model::insert()

您实例化 Database class 的方式,它是 Model [=] 的 属性 22=]。所以是这样访问的:

$model->db->insert('app', 'asdfsdf');

如果您想以这种方式访问​​ $db 属性,您还应确保将其声明为 public

<?php
class Model {
    public $db;
    function __construct() {
        $this->db = new Database(DB_TYPE, DB_HOST, DB_NAME, DB_USER, DB_PASS);
    }
}