Я попробовал ниже код:
<?php
class A {
public static function who($simba) {
echo "A\n";
echo $simba;
}
}
class B extends A {
public static function who() {
echo "B\n";
}
}
call_user_func(array('B', 'parent::who'), $nangal="huip");
?>
Выход :
Warning: Declaration of B::who() should be compatible with A::who($simba)
A huip
Почему я получаю это предупреждение? Я хочу удалить это. Так что, пожалуйста, ведите меня.
При переопределении методов в PHP сигнатура метода Overriding должна быть совместима с родительским тем же методом! Это означает, что вы должны объявить public static function who($simba)
в расширенном классе!
Других решений пока нет …