问题 如何在php中将对象克隆到子类


我有一个父类A和PHP中的子类B. 有没有办法将类A的实例克隆到B的实例,并在B实例中稍后使用B类属性? 谢谢


9927
2017-10-14 12:35


起源

php.net/manual/en/language.oop5.cloning.php - davidkonrad
如果这就是你要问的话,我认为你不能实时扩展实例。考虑提供有关您尝试做什么的更多详细信息,也许还有另一种方法。 - Mahn


答案:


我的解决方案将基于此问题的解决方案 如何将PHP对象复制到不同的对象类型中

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 );

15
2017-11-08 22:35