在php5.30之前这个函数遇到parent、self关键字就会报E_STRICT级别错误,你可以看一下手册说明:
The interpretation of object oriented keywords like parent and self has changed. Previously, calling them using the double colon syntax would emit an E_STRICT warning because they were interpreted as static.
在php手册里对callback伪类型有这么一句话:对于没有实例化为对象的静态类,要传递其方法,将数组 0 下标指明的对象名换成该类的名称即可
call_user_func_array(array($this,"parent::__construct"),$args);
完全可以写成call_user_func_array(array("B","parent::__construct"),$args);
我的理解"parent::__construct" 就是是当前对象的方法