2012-10-14 24 views
11

我在PHP中有父类A和子类B。 有没有什么办法可以将B类的实例克隆到B的实例,并在B实例中稍后使用B类的属性? 感谢如何将对象克隆到php的子类中

+1

http://php.net/manual/en/language.oop5.cloning.php – davidkonrad

+1

我不认为你可以实时扩展实例,如果这是你所要求的。考虑给出更多关于你想要做什么的细节,也许还有另一种方法。 – Mahn

回答

14

我的解决方案将基于从这个问题的解决How do you copy a PHP object into a different object type

class childClass extends parentClass 
{ 
    private $a; 
    private $b; 

    function loadFromParentObj($parentObj) 
    { 
     $objValues = get_object_vars($parentObj); // return array of object values 
     foreach($objValues AS $key=>$value) 
     { 
      $this->$key = $value; 
     } 
    } 
} 

$myParent = new parentClass(); 
$myChild = new childClass(); 
$myChild->loadFromParentObj($myParent);