/** * {@inheritdoc} */ public function getPath() { $path = $this->name; if (null !== $this->parent) { $path = $this->parent->getPath() . '.' . $path; } return $path; }
/** * Append node. * * @param NodeInterface $child */ public function append(NodeInterface $child) { $name = $child->getName(); if (empty($name)) { throw new InvalidArgumentException('Child node name cannot be empty.'); } if (isset($this->children[$name])) { throw new InvalidArgumentException(sprintf('Child node named "%s" already exists.', $name)); } $this->children[$name] = $child; }