我想问一下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