Как правильно вызвать метод дочернего класса из родительского класса, если оба являются статическими?
Когда я использую статические классы, он возвращает ошибку "Вызов неопределенного метода A::multi()", однако, когда я использую нестатические методы, проблем нет, например:
//-------------- STATIC ------------------
class A {
public static function calc($a,$b) {
return self::multi($a, $b);
}
}
class B extends A {
public static function multi($a, $b) {
return $a*$b;
}
}
echo B::calc(3,4); //ERROR!!
//-------------- NON-STATIC ----------------
class C {
public function calc($a,$b) {
return $this->multi($a, $b);
}
}
class D extends C {
public function multi($a, $b) {
return $a*$b;
}
}
$D = new D();
echo $D->calc(3,4); // Returns: 12
Есть ли способ вызвать дочерний статический метод, не зная имени его класса?