假设您有以下代码:
Class Dog extends Animal {
__contruct() {
$this->class = new self;
}
protected function bark() {
echo "BARK BARK RUFF RUFF!";
}
}
然后在父母Class
你这样做
Animal {
protected $class
protected function myMethod() {
$class->bark();
}
}
这段代码中可能有不相关的错误,因为我只是在飞行中编造的;但我在这里谈论的主要问题。
我在一个项目中有这样的代码,我得到:Fatal error: Call to a member function <myFunction>() on a non-object ...
这是像这样从父级访问子类的正确方法吗?
编辑
真正的应用是这样的:我有一个 MySQL 数据库。我有一个具有通用全局函数的父类;我有它的子类,其中包含特定的表数据,如表名、字段等。因此,当我调用此代码时 TableClass::myGenericSQLMethod($sql)
,该方法实际上在父类中。我正在做的是尝试在子构造函数中实例化,然后在父构造函数中访问它。