我想問一下PHP對象中的遞歸是否被很好地處理,如果可以接受的話。因爲我寧願有這個PHP類遞歸
class Human{
public $pet;
function setPet($pet){
$this->pet = $pet;
}
}
class Pet{
public $owner;
function __construct($owner){
$this->owner = $owner;
}
}
$a = new Human();
$b = new Pet($a);
$a->setPet($b);
不是用戶的一個數組,那麼寵物的主人保存爲ID,並在我需要獲取寵物的主人之際,我需要做的是這樣
$arrayOfUsers[$pet->owner]
正如你所看到的,絕對不是漂亮。與其他方法相比,這種遞歸內存是否節省?它是安全的嗎?它是一種好習慣嗎?
這些被稱爲「循環依賴」。他們被認爲是代碼中的錯誤。 – 2014-08-28 21:28:17
這不是遞歸。這只是一個嵌入另一個的對象。遞歸是指一系列函數/方法調用最終再次調用自己。例如'function foo(){foo(); } – 2014-08-28 21:29:42
@tereško如果這被認爲是一個錯誤,這個功能如何以正確的方式實現?我的意思是訪問寵物的主人,如果我不能參考它? – 2014-08-28 21:31:53