class A
{
     public function A()  //旧的
     public function __construct() //新的
}
书上有这么一段话:
注:在PHP5以前的版中,构造方法是使用类的名称,之后使用__construct()来命名,如果使用旧语法,调用父类的构造方法
将会绑定到特定的类:parent::类().如果改变了类的层次结构,这样做将会产生问题.许多BUG的生成就是因为
程序员改变了类的直接父类,却忘记更新构造方法.如果使用统一的调用方式(用parent::ShopProduct() )无论使用父类
是否改变,子类中都不需要改代码.
如果使用旧语法,调用父类的构造方法
将会绑定到特定的类:parent::类().如果改变了类的层次结构,这样做将会产生问题.
一直不明白 这段话的含意  谁举个例子说明一下吧

解决方案 »

  1.   

    意思大概是这样
    class A
    {
         public function A()  //旧的
         public function __construct() //新的
    }class B extend A{
         public function B(){ // 旧的
             parent::A(); // 调用旧的父类构造函数
         }
    }
    但是如果改变了B的继承类,比如
    class B extend C{
         public function B(){ // 旧的
             parent::A(); // 这里不修改的话就会出错
         }
    }//所以PHP5中统一用__construct()就不会出错了
    class B extend C{
         public function __construct(){ // 新的
             parent::__construct(); // 这里就不需要修改了
         }
    }
      

  2.   

    是这样啊,oop一直都糊糊涂涂的