我尝试了以下代码:
<?php
class A {
public static function who($simba) {
echo "An";
echo $simba;
}
}
class B extends A {
public static function who() {
echo "Bn";
}
}
call_user_func(array('B', 'parent::who'), $nangal="huip");
?>
输出:
Warning: Declaration of B::who() should be compatible with A::who($simba)
A huip
为什么要警告?我想删除它。所以,请引导我。
当PHP中的覆盖方法时,覆盖方法签名应与父级相同的方法兼容!这意味着您应该在扩展类中声明public static function who($simba)
!