我不明白在PHP中調用父級方法的概念。 父方法不是靜態的,但它被靜態調用 - 通常PHP會拋出錯誤/警告。parent :: method() - 調用非靜態方法
問題是,這是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 水平警告。
http://php.net/manual/en/language.oop5.static.php
提問/回答類似的內容:http://stackoverflow.com/a/18738707/5542121 – user5542121
另一個有趣的一個:http://stackoverflow.com/q/11165429/5542121 – user5542121