【发布时间】:2016-10-07 08:53:18
【问题描述】:
我不明白在 PHP 中调用父方法的概念。 父方法不是静态的,但它是静态调用的——通常 PHP 会抛出错误/警告。
问题是,这是 PHP 的一个怪癖,还是在 OOP 中应该是这样?
以php.net为例:
<?php
class A {
function example() {
echo "I am A::example() and provide basic functionality.<br />\n";
}
}
class B extends A {
function example() {
echo "I am B::example() and provide additional functionality.<br />\n";
parent::example();
}
}
$b = new B;
// This will call B::example(), which will in turn call A::example().
$b->example();
?>
http://php.net/manual/en/keyword.parent.php
在 PHP 5 中,调用非静态方法静态生成 E_STRICT 级别警告。
【问题讨论】:
-
类似内容的问题/答案:stackoverflow.com/a/18738707/5542121