/** * Checks if the container has the given page * * @param Page\AbstractPage $page page to look for * @param bool $recursive [optional] whether to search recursively. * Default is false. * @return bool whether page is in container */ public function hasPage(Page\AbstractPage $page, $recursive = false) { if (array_key_exists($page->hashCode(), $this->index)) { return true; } elseif ($recursive) { foreach ($this->pages as $childPage) { if ($childPage->hasPage($page, true)) { return true; } } } return false; }