Navigation.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Navigation
- Version
- $Id: Navigation.php 25024 2012-07-30 15:08:15Z rob $
\Zend_Navigation
A simple container class for {@link Zend_Navigation_Page} pages
Container class for Zend_Navigation_Page classes.
- Parent(s)
- \Zend_Navigation_Container
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties


bool $_dirtyIndex = false
Whether index is dirty and needs to be re-arranged
Inherited from: \Zend_Navigation_Container::$$_dirtyIndexfalse
Details- Type
- bool
- Inherited_from
- \Zend_Navigation_Container::$$_dirtyIndex


array $_index = array()
An index that contains the order in which to iterate pages
Inherited from: \Zend_Navigation_Container::$$_indexarray()
Details- Type
- array
- Inherited_from
- \Zend_Navigation_Container::$$_index


array $_pages = array()
array()
Details- Type
- array
- Inherited_from
- \Zend_Navigation_Container::$$_pages
Methods


__call(string $method, array $arguments) : mixed
Magic overload: Proxy calls to finder methods
Inherited from: \Zend_Navigation_Container::__call()Examples of finder calls:
// METHOD // SAME AS
$nav->findByLabel('foo'); // $nav->findOneBy('label', 'foo');
$nav->findByLabel('/foo/', true); // $nav->findBy('label', '/foo/', true);
$nav->findOneByLabel('foo'); // $nav->findOneBy('label', 'foo');
$nav->findAllByClass('foo'); // $nav->findAllBy('class', 'foo');
Name | Type | Description |
---|---|---|
$method | string | method name |
$arguments | array | method arguments |
Type | Description |
---|---|
mixed | Zend_Navigation|array|null matching page, array of pages or null |
Exception | Description |
---|---|
\Zend_Navigation_Exception | if method does not exist |


__construct(array | \Zend_Config $pages = null) : void
Creates a new navigation container
Name | Type | Description |
---|---|---|
$pages | array | \Zend_Config | [optional] pages to add |
Exception | Description |
---|---|
\Zend_Navigation_Exception | if $pages is invalid |


_sort() : void
Sorts the page index according to page order
Inherited from: \Zend_Navigation_Container::_sort()

addPage(\Zend_Navigation_Page | array | \Zend_Config $page) : \Zend_Navigation_Container
This method will inject the container as the given page's parent by calling Zend_Navigation_Page::setParent().
Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | array | \Zend_Config | page to add |
Type | Description |
---|---|
\Zend_Navigation_Container | fluent interface, returns self |
Exception | Description |
---|---|
\Zend_Navigation_Exception | if page is invalid |


addPages(array | \Zend_Config | \Zend_Navigation_Container $pages) : \Zend_Navigation_Container
Name | Type | Description |
---|---|---|
$pages | array | \Zend_Config | \Zend_Navigation_Container | pages to add |
Type | Description |
---|---|
\Zend_Navigation_Container | fluent interface, returns self |
Exception | Description |
---|---|
\Zend_Navigation_Exception | if $pages is not array, Zend_Config or Zend_Navigation_Container |


count() : int
Implements Countable interface.
Type | Description |
---|---|
int | number of pages in the container |


current() : \Zend_Navigation_Page
Implements RecursiveIterator interface.
Type | Description |
---|---|
\Zend_Navigation_Page | current page or null |
Exception | Description |
---|---|
\Zend_Navigation_Exception | if the index is invalid |


findAllBy(string $property, mixed $value, bool $useRegex = false) : array
Returns all child pages matching $property == $value or preg_match($value, $property), or an empty array if no pages are found
Inherited from: \Zend_Navigation_Container::findAllBy()Name | Type | Description |
---|---|---|
$property | string | name of property to match against |
$value | mixed | value to match property against |
$useRegex | bool | [optional] if true PHP's preg_match is used. Default is false. |
Type | Description |
---|---|
array | array containing only Zend_Navigation_Page instances |


findBy(string $property, mixed $value, bool $all = false, bool $useRegex = false) : \Zend_Navigation_Page | null
Returns page(s) matching $property == $value or preg_match($value, $property)
Inherited from: \Zend_Navigation_Container::findBy()Name | Type | Description |
---|---|---|
$property | string | name of property to match against |
$value | mixed | value to match property against |
$all | bool | [optional] whether an array of all matching pages should be returned, or only the first. If true, an array will be returned, even if not matching pages are found. If false, null will be returned if no matching page is found. Default is false. |
$useRegex | bool | [optional] if true PHP's preg_match is used. Default is false. |
Type | Description |
---|---|
\Zend_Navigation_Page | null | matching page or null |


findOneBy(string $property, mixed $value, bool $useRegex = false) : \Zend_Navigation_Page | null
Returns a child page matching $property == $value or preg_match($value, $property), or null if not found
Inherited from: \Zend_Navigation_Container::findOneBy()Name | Type | Description |
---|---|---|
$property | string | name of property to match against |
$value | mixed | value to match property against |
$useRegex | bool | [optional] if true PHP's preg_match is used. Default is false. |
Type | Description |
---|---|
\Zend_Navigation_Page | null | matching page or null |


getChildren() : \Zend_Navigation_Page | null
Implements RecursiveIterator interface.
Type | Description |
---|---|
\Zend_Navigation_Page | null |


hasChildren() : bool
Implements RecursiveIterator interface.
Type | Description |
---|---|
bool | whether container has any pages |


hasPage(\Zend_Navigation_Page $page, bool $recursive = false) : bool
Checks if the container has the given page
Inherited from: \Zend_Navigation_Container::hasPage()Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | page to look for |
$recursive | bool | [optional] whether to search recursively. Default is false. |
Type | Description |
---|---|
bool | whether page is in container |


hasPages() : bool
Returns true if container contains any pages
Inherited from: \Zend_Navigation_Container::hasPages()Type | Description |
---|---|
bool | whether container has any pages |


key() : string
Implements RecursiveIterator interface.
Type | Description |
---|---|
string | hash code of current page |


next() : void
Moves index pointer to next page in the container
Inherited from: \Zend_Navigation_Container::next()Implements RecursiveIterator interface.


notifyOrderUpdated() : void
Notifies container that the order of pages are updated
Inherited from: \Zend_Navigation_Container::notifyOrderUpdated()

removePage(\Zend_Navigation_Page | int $page) : bool
Removes the given page from the container
Inherited from: \Zend_Navigation_Container::removePage()Name | Type | Description |
---|---|---|
$page | \Zend_Navigation_Page | int | page to remove, either a page instance or a specific page order |
Type | Description |
---|---|
bool | whether the removal was successful |


removePages() : \Zend_Navigation_Container
Type | Description |
---|---|
\Zend_Navigation_Container | fluent interface, returns self |


rewind() : void
Sets index pointer to first page in the container
Inherited from: \Zend_Navigation_Container::rewind()Implements RecursiveIterator interface.


setPages(array $pages) : \Zend_Navigation_Container
Sets pages this container should have, removing existing pages
Inherited from: \Zend_Navigation_Container::setPages()Name | Type | Description |
---|---|---|
$pages | array | pages to set |
Type | Description |
---|---|
\Zend_Navigation_Container | fluent interface, returns self |


toArray() : array
Returns an array representation of all pages in container
Inherited from: \Zend_Navigation_Container::toArray()Type | Description |
---|---|
array |