Navigation/Container.php

Show: PublicProtectedPrivateinherited
Table of Contents
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 license@zend.com so we can send you a copy immediately.
Category
Zend  
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Navigation  
Version
$Id$  

\Zend_Navigation_Container

Package: Zend_Navigation
Zend_Navigation_Container
Container class for Zend_Navigation_Page classes.
Implements
Children
\Zend_Navigation_Page
\Zend_Navigation
Category
Zend  
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

>VPropertyprotectedbool $_dirtyIndex = false
Whether index is dirty and needs to be re-arranged
Default valuefalseDetails
Type
bool
>VPropertyprotectedarray $_index = array()
An index that contains the order in which to iterate pages
Default valuearray()Details
Type
array
>VPropertyprotectedarray $_pages = array()
Contains sub pages
Default valuearray()Details
Type
array

Methods

methodpublic__call(string $method, array $arguments) : mixed

Magic overload: Proxy calls to finder methods

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');
Parameters
NameTypeDescription
$methodstring

method name

$argumentsarray

method arguments

Returns
TypeDescription
mixedZend_Navigation|array|null matching page, array of pages or null
Throws
ExceptionDescription
\Zend_Navigation_Exceptionif method does not exist
methodprotected_sort() : void

Sorts the page index according to page order

methodpublicaddPage(\Zend_Navigation_Page | array | \Zend_Config $page) : \Zend_Navigation_Container

Adds a page to the container

This method will inject the container as the given page's parent by calling {@link Zend_Navigation_Page::setParent()}.
Parameters
NameTypeDescription
$page\Zend_Navigation_Page | array | \Zend_Config

page to add

Returns
TypeDescription
\Zend_Navigation_Containerfluent interface, returns self
Throws
ExceptionDescription
\Zend_Navigation_Exceptionif page is invalid
methodpublicaddPages(array | \Zend_Config | \Zend_Navigation_Container $pages) : \Zend_Navigation_Container

Adds several pages at once

Parameters
NameTypeDescription
$pagesarray | \Zend_Config | \Zend_Navigation_Container

pages to add

Returns
TypeDescription
\Zend_Navigation_Containerfluent interface, returns self
Throws
ExceptionDescription
\Zend_Navigation_Exceptionif $pages is not array, Zend_Config or Zend_Navigation_Container
methodpubliccount() : int

Returns number of pages in container

Implements Countable interface.
Returns
TypeDescription
intnumber of pages in the container
methodpubliccurrent() : \Zend_Navigation_Page

Returns current page

Implements RecursiveIterator interface.
Returns
TypeDescription
\Zend_Navigation_Pagecurrent page or null
Throws
ExceptionDescription
\Zend_Navigation_Exceptionif the index is invalid
methodpublicfindAllBy(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

Parameters
NameTypeDescription
$propertystring

name of property to match against

$valuemixed

value to match property against

$useRegexbool

[optional] if true PHP's preg_match is used.

                      Default is false.
Returns
TypeDescription
arrayarray containing only Zend_Navigation_Page instances
methodpublicfindBy(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)

Parameters
NameTypeDescription
$propertystring

name of property to match against

$valuemixed

value to match property against

$allbool

[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.
$useRegexbool

[optional] if true PHP's preg_match is used.

                      Default is false.
Returns
TypeDescription
\Zend_Navigation_Page | nullmatching page or null
methodpublicfindOneBy(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

Parameters
NameTypeDescription
$propertystring

name of property to match against

$valuemixed

value to match property against

$useRegexbool

[optional] if true PHP's preg_match

                               is used. Default is false.
Returns
TypeDescription
\Zend_Navigation_Page | nullmatching page or null
methodpublicgetChildren() : \Zend_Navigation_Page | null

Returns the child container.

Implements RecursiveIterator interface.
Returns
TypeDescription
\Zend_Navigation_Page | null
methodpublicgetPages() : array

Returns pages in the container

Returns
TypeDescription
arrayarray of Zend_Navigation_Page instances
methodpublichasChildren() : bool

Proxy to hasPages()

Implements RecursiveIterator interface.
Returns
TypeDescription
boolwhether container has any pages
methodpublichasPage(\Zend_Navigation_Page $page, bool $recursive = false) : bool

Checks if the container has the given page

Parameters
NameTypeDescription
$page\Zend_Navigation_Page

page to look for

$recursivebool

[optional] whether to search

                                     recursively. Default is false.
Returns
TypeDescription
boolwhether page is in container
methodpublichasPages() : bool

Returns true if container contains any pages

Returns
TypeDescription
boolwhether container has any pages
methodpublickey() : string

Returns hash code of current page

Implements RecursiveIterator interface.
Returns
TypeDescription
stringhash code of current page
methodpublicnext() : void

Moves index pointer to next page in the container

Implements RecursiveIterator interface.
methodpublicnotifyOrderUpdated() : void

Notifies container that the order of pages are updated

methodpublicremovePage(\Zend_Navigation_Page | int $page) : bool

Removes the given page from the container

Parameters
NameTypeDescription
$page\Zend_Navigation_Page | int

page to remove, either a page instance or a specific page order

Returns
TypeDescription
boolwhether the removal was successful
methodpublicremovePages() : \Zend_Navigation_Container

Removes all pages in container

Returns
TypeDescription
\Zend_Navigation_Containerfluent interface, returns self
methodpublicrewind() : void

Sets index pointer to first page in the container

Implements RecursiveIterator interface.
methodpublicsetPages(array $pages) : \Zend_Navigation_Container

Sets pages this container should have, removing existing pages

Parameters
NameTypeDescription
$pagesarray

pages to set

Returns
TypeDescription
\Zend_Navigation_Containerfluent interface, returns self
methodpublictoArray() : array

Returns an array representation of all pages in container

Returns
TypeDescription
array
methodpublicvalid() : bool

Checks if container index is valid

Implements RecursiveIterator interface.
Returns
TypeDescription
bool
Documentation was generated by phpDocumentor 2.2.0 .