Zend_Navigation is a component for managing
trees of pointers to web pages.
Simply put: It can be used for creating menus, breadcrumbs, links, and
sitemaps, or serve as a model for other navigation related purposes.
Pages and Containers
There are two main concepts in Zend_Navigation:
A page (Zend_Navigation_Page) in
in its most basic form – is an object that holds a pointer
to a web page. In addition to the pointer itself, the page
object contains a number of other properties that are
typically relevant for navigation, such as label,
A navigation container
(Zend_Navigation_Container) is a
container class for pages. It has methods for
adding, retrieving, deleting and iterating pages.
It implements the » SPL
interfaces RecursiveIterator and
Countable, and can thus be iterated
with SPL iterators such as
Read more about containers in the
means that a page can have sub pages.
Separation of data (model) and rendering (view)
Classes in the Zend_Navigation
namespace do not deal with rendering of navigational elements.
Rendering is done with navigational view helpers. However,
pages contain information that is used by view helpers
when rendering, such as; label, CSS class,
title, lastmod and
priority properties for sitemaps, etc.
Read more about rendering navigational elements in
the manual section on