Yukarıdaki örnekte olduğu gibi, SplObjectStorage kullanarak basit Kompozit model hayata geçirdik:
class Node
{
private $parent = null;
public function setParent(Composite $parent)
{
$this->parent = $parent;
}
}
class Composite extends Node
{
private $children;
public function __construct()
{
$this->children = new SplObjectStorage;
}
public function add(Node $node)
{
$this->children->attach($node);
$node->setParent($this);
}
}
Whenever I try to serialize a Composite object, PHP 5.3.2 throws me a Segmentation Fault
.
This only happens when I add any number of nodes of any type to the object.
Bu soruna neden olan kodu:
$node = new Node;
$composite = new Composite;
$composite->add($node);
echo serialize($composite);
Bu işleri olmasına rağmen:
$node = new Node;
$composite = new Composite;
echo serialize($composite);
Ben yerine SplObjectStorage dizisi ile Kompozit deseni () uygulamak durumunda Ayrıca, tüm çok ok çalışır.
Ben yanlış yapıyorum ne?