获取父类中的子类变量


Get child class variable in parent class

我在两个文件中有两个类。第一个(parent.php):

class Parent{
   var $ParentVar;
}

第二个(child.php):

class Child{
   var $ChildVar = 'im a childvar';
}

如何将$ChildVar值设置为$ParentVar,以便在Parent类中打印"im a childvar"?

首先,您需要正确使用继承,因此:

class Child extends Parent {

其次,您永远不应该从父级访问子级的值。您可以做的是在Parent类中定义一个抽象函数,Child需要实现该函数,然后Parent中的代码可以调用Child的函数。例如:

abstract class Parent {
    abstract protected function returnSomeValue();
    public function outputSomeValue() {
        return $this->returnSomeValue();
    }
}
class Child extends Parent {
    protected $ChildVar = 'im a childvar';
    protected function returnSomeValue() {
        return $this->ChildVar;
    }
}