子类的一个常见陷阱是,如果父级和子级都包含一个builder(__construct())方法,则只有子类的构造函数才能运行。在某些情况下,您需要__construct()从其子级运行父级方法。如果需要这样做,则需要使用parent::范围解析器:
parent::__construct();
现在,在实际情况下利用它看起来像:
class Foo { function __construct($args) { echo 'parent'; } } class Bar extends Foo { function __construct($args) { parent::__construct($args); } }
上面的代码将运行父级,__construct()从而导致echo正在运行。