php oop遍历parent :: child关系

时间:2011-03-25 22:04:30

标签: php oop scope

我的实际代码很复杂,所以这里有一个简单但相关的例子:

class base {

  var $child1;
  var $child2;

  function xcv() {
    $this->child1 = new objChild1();
    $this->child2 = new objChild2();
  }
}

class objChild1 {
  var $fruit = "apple";
}

class objChild2 {
  function getChild1Fruit() {
    echo parent::child1->fruit;
  }
}

相当直接,但是如果objGrandchild1想要调用child2等...那就像parent :: parent :: child1-> fruit?

该领域的任何提示都将受到赞赏

=====编辑===== 抱歉,我刚刚意识到 属于使用 扩展 所以可能与它无关

1 个答案:

答案 0 :(得分:1)

你在编辑中做得对。对象没有实现正在使用的对象。但是,您可以通过参数获得此引用。

class base {

  var $child1;
  var $child2;

  function xcv() {
    $this->child1 = new objChild1();
    $this->child2 = new objChild2($this);
  }
}

class objChild1 {
  var $fruit = "apple";
}

class objChild2 {
  objChild2($parent) {
    $this->parent = $parent;
  }
  function getChild1Fruit() {
    echo $this->parent->child1->fruit;
  }
}