PHP üst sınıf ve ters bir çocuk örneği dönüştürmek nasıl?

2 Cevap php
$child_instance = (childClass)$parent_instance;
$parent_instance = (parentClass)$child_instance;

Yoksa mümkün mü?

2 Cevap

Tamam, ben de PHP OOP için oldukça yeni ve bu nedenle, bir üst sınıf örneğine bir alt sınıf örneği dönüştürmek için bir yol aramak için bir saat gibi geçirmişti.

Ne yazık ki, buldum!

Çocuğunuz sınıfında, sadece bu yöntemi var:

function loadChildWithParent($instanceOfParent) {
        $props = get_object_vars($instanceOfParent);
        foreach ($props as $key => $val)
        {
            $this->$key = $val;
        }
}

Ve üst sınıf, sadece aracılığıyla bu yöntemi çağırabilirsiniz:

$objNew = new student();
$objNew->voidLoadStudent($this);

Hayır kullandıktan sonra new ClassA Eğer sınıf türünü o nesnenin sınıf değiştiremezsiniz.