如何通过创建另一个 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);
}
}
我有一个名为 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);
}
}