/** * Removes a node. * * @param NodeInterface $node - Node. * * @return NodeInterface */ public function removeNode(NodeInterface $node) : NodeInterface { unset($this->_nodes[$node->getId()]); if ($this->getParent()) { $this->getParent()->removeNode($node); } return $this; }
public function generateNodeRelationsCode(NodeInterface $node) { $children = $node->getChildren(); if (!$children) { return ''; } $code = ''; /** @var NodeInterface $child */ foreach ($children as $child) { $code .= ' ' . $node->getId() . ' -> ' . $child->getId(); $relationsAttributes = $node->getMetadataAttr('graphviz.relationsAttributes.' . $child->getId(), []); if ($relationsAttributes) { $code .= ' ['; foreach ($relationsAttributes as $k => $v) { $code .= $k . '=' . $v . ','; } $code = substr($code, 0, -1) . ']'; } $code .= ';' . PHP_EOL; } return $code; }