这不像我想象的那样工作。这是我的课程:
class App {
public $db;
public function __construct($db) {
$this->db = $db;
}
}
class Analysis extends App {
public $analysis_id;
public function __construct($analysis_id) {
$this->analysis_id = $analysis_id;
}
}
class Standard extends Analysis {
public function __construct($analysis_id) {
parent::__construct($analysis_id);
}
}
$db
是我传递给 App 类的数据库 (mysqli) 对象。
当我尝试执行新的标准分析时,我会这样启动它:
$analysis = new Standard($analysis_id);
Analysis 类包含检索有关分析的元数据的方法,而 Standard 类包含检索该特定分析类型的计算的方法。我以为我可以访问该$db
对象,但我不能从 Analysis 或 Standard 类访问。启动对象时是否需要将$db
对象传递给标准类?