看细说php讲到继承的时候,有个例子讲到一个teacher类直接使用继承来的构造方法,可是
好多其他资料又讲不能直接调用父类的构造方法,要用parent::__construct(),到底哪个对啊,看的有点晕

解决方案 »

  1.   

    class A {
      public $val = 0;
      function __construct($v) {
        $this->val = $v;
      }
      function show() {
        echo $this->val;
      }
    }
    class B extends A {
      //没有定义自己的构造函数,所以继承父类的构造函数
    }
    class C extends A {
      function __construct($v) { //定义了自己的构造函数
        parent::__construct($v); //调用父类的构造函数
      }
    }$a = new A(1);
    $a->show(); //1
    $b = new A(1);
    $b->show(); //1
    $c = new A(1);
    $c->show(); //1