PHP中的继承实例

PHP中的继承实例,php,Php,我尝试调用Child类中的getTest()函数。 首先,我初始化了Ext类的实例,因此我假设主属性$Ext现在应该包含它。但是子类类不继承它,获得的错误消息是: 对非对象调用成员函数getTest() 问题在哪里 <?php $A = new Main; class Main { protected $ext = null; function __construct() { $this->ext= new Ext(); ne

我尝试调用Child类中的getTest()函数。 首先,我初始化了Ext类的实例,因此我假设主属性$Ext现在应该包含它。但是子类类不继承它,获得的错误消息是:

对非对象调用成员函数getTest()

问题在哪里

<?php

 $A = new Main;

 class Main
 {
    protected $ext = null;
    function __construct()
    {
      $this->ext= new Ext();
      new Child;
    }
 }

 class Child extends Main
 {
    function __construct()
    {
      echo $this->ext->getTest();
    }
 }


 class Ext extends Main
 {

    public function getTest()
    {
      return "cool";
    }
 }

 ?>

但是我想理解为什么这不起作用。

目前在构建对象时,atribute还没有值

在使用属性之前,需要调用父构造函数

function __construct()
{
    parent::__construct();
    echo $this->ext->getTest();
}

这将给出一个致命的错误,如调用parent::\构造时达到的最大函数嵌套级别,它再次调用子类,然后子类再次调用parent..这将在循环中继续。
function __construct()
{
    parent::__construct();
    echo $this->ext->getTest();
}