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 = falseWhether index is dirty and needs to be re-arranged
Inherited from: \Zend_Navigation_Container::$$_dirtyIndexfalseDetails- 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) : mixedMagic 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) : voidCreates 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() : voidSorts 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) : arrayReturns 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 | nullReturns 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 | nullReturns 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) : boolChecks 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() : boolReturns 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() : voidMoves index pointer to next page in the container
Inherited from: \Zend_Navigation_Container::next()Implements RecursiveIterator interface.

notifyOrderUpdated() : voidNotifies container that the order of pages are updated
Inherited from: \Zend_Navigation_Container::notifyOrderUpdated()
removePage(\Zend_Navigation_Page | int $page) : boolRemoves 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() : voidSets index pointer to first page in the container
Inherited from: \Zend_Navigation_Container::rewind()Implements RecursiveIterator interface.

setPages(array $pages) : \Zend_Navigation_ContainerSets 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() : arrayReturns an array representation of all pages in container
Inherited from: \Zend_Navigation_Container::toArray()| Type | Description |
|---|---|
| array |