在PHP中,parent关键字通常用于调用父类中的方法或属性。但是,还有一些高级用法可以使用parent关键字。
访问父类的静态属性或方法:class ParentClass { public static $staticProperty = 'I am a static property in parent class'; public static function staticMethod() { return 'I am a static method in parent class'; }}class ChildClass extends ParentClass { public static function childMethod() { // 访问父类的静态属性 echo parent::$staticProperty; // 调用父类的静态方法 echo parent::staticMethod(); }}ChildClass::childMethod();调用构造函数:class ParentClass { public function __construct() { echo 'Parent constructor called'; }}class ChildClass extends ParentClass { public function __construct() { parent::__construct(); echo 'Child constructor called'; }}new ChildClass();在以上示例中,当创建ChildClass对象时,首先会调用ParentClass的构造函数,然后才会调用ChildClass的构造函数。
重写父类方法时调用父类方法:class ParentClass { public function method() { echo 'Parent method called'; }}class ChildClass extends ParentClass { public function method() { parent::method(); echo 'Child method called'; }}$child = new ChildClass();$child->method();在以上示例中,ChildClass重写了ParentClass的method方法,并在重写的方法内部调用了父类的method方法,以保留父类方法的功能并添加新的功能。