从下面的代码中,是否有人知道如何将$ parent-> foo和$ parent-> foo1的值分别放入$ child-> bar和$ child-> bar1 B中定义的方法?
我可以在对象外部使用$ child-> bar = $ parent-> foo和$ child-> bar1 = $ parent-> foo1复制值,但感觉可能有一个简单的方法对于这种情况,孩子(甚至是那个问题的父母)。我的父对象是从html输入框中获取foo的值。
Class A
{
public $foo="someText";
public $foo1="someOtherText";
}
Class B extends A
{
public $bar;
public $bar1;
//theoretical function Id like to use
public copyParentcontents()
{
}
}
$parent = new A();
$child = new B();
答案 0 :(得分:1)
Class B extends A {
public $bar;
public $bar1;
//theoretical function Id like to use
public copyParentcontents($parent) {
if(get_class($parent)=="A"){
$this->$bar = $parent->foo;
$this->$bar1 = $parent->foo1;
}else{
//You could throw an exception here
}
}
}
然后:
$parent= new A; $child= new B;
$parent->foo = "modifiedText";
$child->copyParentcontents($parent);
也许这就是你需要的?
答案 1 :(得分:0)
在您的示例中,$child
将从$parent
继承类参数:
echo $child->foo; // prints "someText";