Как правильно передавать аргументы в метод статического класса, когда он вызывается?

Я попробовал ниже код:

<?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

Почему я получаю это предупреждение? Я хочу удалить это. Так что, пожалуйста, ведите меня.

0

Решение

При переопределении методов в PHP сигнатура метода Overriding должна быть совместима с родительским тем же методом! Это означает, что вы должны объявить public static function who($simba) в расширенном классе!

0

Другие решения

Других решений пока нет …