PHP: "tanımsız yöntemine Çağrı"

0 Cevap php

Nasıl hem statik varsa bir üst sınıftan bir çocuk sınıf yöntemi çağırmak için doğru yolu nedir?

Ben statik sınıflar kullandığınızda bu hatayı döndürür "Call to undefined method A::multi()", ancak ben statik olmayan yöntemleri kullanmak hiçbir sorun, örneğin vardır:

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

Kendi sınıf adını bilmeden bir çocuk statik yöntemi çağırmak için bir yolu var mı?

0 Cevap