ВведениеZend_Navigation является компонентой для
работы с деревьями ссылок на веб-страницы. Говоря проще,
она может использоваться для создания меню, "хлебных крошек"
(breadcrumbs), ссылок и карт сайта, либо использоваться в
качестве модели в других целях, связанных с навигацией.
Страницы и контейнеры
Есть две основные концепции в
Zend_Navigation:
Страницы
Страница (Zend_Navigation_Page)
в Zend_Navigation в своем
основном проявлении является объектом,
которй хранит ссылку на веб-страницу.
Кроме собственно ссылки, объект страницы содержит и другие
свойства, которые, как правило, относятся к навигации -
label (метка), title
(заголовок) и т.д.
Более подробную информацию о страницах читайте в разделе о
страницах.
Контейнеры
Контейнер (Zend_Navigation_Container)
в Zend_Navigation
является классом-контейнером для страниц.
Он имеет методы для добавления, извлечения, удаления и обхода
страниц.
Класс контейнера реализует интерфейсы из
SPLRecursiveIterator
и Countable, таким образом, он может
использоваться с SPL-итераторами, такими, как
RecursiveIteratorIterator.
Более подробную информацию о контейнерах читайте в разделе о
контейнерах.
Zend_Navigation_Page расширяет
Zend_Navigation_Container,
это значит, что любая страница может содержать подстраницы.
Разделение данных (модели) и отображения (вида)
Классы в пространстве имен Zend_Navigation
не занимаются отображением элементов навигации.
Отображение производится с помощью соответствующих помощников
видов. Тем не менее, страницы содержат информацию, которая
используется помощниками видов при отображении, например,
метку, класс CSS, заголовок, свойства
lastmod (дата последнего изменения) и
priority (приоритет) для карт сайта и т.д.
Более подробную информацию об отображении элементов навигации
читайте в разделе о
помощниках
навигации.