如何在PHP中调用超级?
我有一个classB
扩展classA
。 在classB
我定义了一个在classB
定义的方法fooBar()
。 在classB
fooBar()
,我想在开始时调用classA
fooBar()
。 就像我习惯的方式,从Objective-C。 在PHP中可能吗? 如果是的话,怎么样?
parent::fooBar();
直接从手册 :
双冒号,是一个令牌,允许访问…重写的属性或类的方法。
…
Example#3调用父级的方法
<?php class MyClass { protected function myFunc() { echo "MyClass::myFunc()\n"; } } class OtherClass extends MyClass { // Override parent's definition public function myFunc() { // But still call the parent function parent::myFunc(); echo "OtherClass::myFunc()\n"; } } $class = new OtherClass(); $class->myFunc(); ?>
只是一个简短的说明,因为这不会在Googlesearch中变得容易,而且在php文档中有很好的logging, 如果你能find它的话 。 如果你有一个需要调用超类的构造函数的子类,你可以用下面的方法调用它:
parent::__construct(); // since PHP5
一个例子是,如果超类在它的构造函数中有一些参数,它的实现类需要调用它:
class Foo { public function __construct($lol, $cat) { // Do stuff specific for Foo } } class Bar extends Foo { public function __construct()( parent::__construct("lol", "cat"); // Do stuff specific for Bar } }
你可以在这里find一个更激励人心的例子。