If I am using a tree structure of nodes similar to the code below, do I have to worry about the circular reference?
I have read that PHP uses a memory allocation mechanism which can make life very hard for the garbage collector when there are circular references involved.
Ne bilmek istiyorum:
- Benim ağacım sadece bir kaç düğüm oluşuyorsa, 25 söylüyorlar, bu bir sorun mu?
- Bellek yazısının sonunda serbest kalacak ya da ben yavaş yavaş sunucu için bir sorun yaratıyor ki?
- Hangi şartlar altında bu sorunun komut dosyası yürütme sırasında bir etkisi olacaktır?
- El referanslar sorunu çözmek ve ben her zaman bunu yapmalıyım yok olacak?
class Node {
private $parent;
private $children;
function addChild( Node $child ) {
$this->children[] = $child;
$child->setParent( $this );
}
function setParent( $parent ) {
$this->parent = $parent;
}
}
//eg
$node0 = new Node;
$node1 = new Node;
// nodes 1 and 2 have a circular reference to each other
$node0->addChild( $node1 );