/** * @param int $offset * @param int $length * @param null $replacement * @return MenuList */ public function splice($offset, $length = 0, $replacement = null) { if ($replacement instanceof \ElggMenuItem) { /* @var \ElggMenuItem $replacement */ $replacementItems = array($replacement); $replacementNames = array($replacement->getName()); } else { if (!$replacement instanceof MenuList) { $replacement = new MenuList((array) $replacement); } $replacementItems = $replacement->getItems(); $replacementNames = $replacement->getNames(); } array_splice($this->items, $offset, $length, $replacementItems); array_splice($this->names, $offset, $length, $replacementNames); return $this; }