這可能嗎?從對象內獲取父對象
比方說,有相同類型的兩個對象:
$object1->object2->property = 'xxxx';
現在這樣做槽__set()。 在這一點上,我在object2的範圍內(這是object1的一個屬性)。我如何從__set函數訪問object1?
這可能嗎?從對象內獲取父對象
比方說,有相同類型的兩個對象:
$object1->object2->property = 'xxxx';
現在這樣做槽__set()。 在這一點上,我在object2的範圍內(這是object1的一個屬性)。我如何從__set函數訪問object1?
你不能。
object1
不是父,它的容器。 如果你想從object2
訪問一個object1
功能, 你必須有object1
參考。
使用這種模式:
class class1
{
public $child;
public function __construct()
{
$this->child = new class2($this);
}
}
class class2
{
private $parent;
public function __construct(class1 $parent)
{
$this->parent = $parent;
}
}
這就是你想要的?
是,這樣的事情,但我希望有辦法做到這一點,而不必四處傳遞變量:( – Alex 2012-03-14 18:46:57
沒辦法,這是自然的。你可以有多個對象使用相同的類('class2') 。你如何選擇哪一個是你的'父'? – zessx 2012-03-14 21:35:29