# Введение

`Zend_Navigation` является компонентой для работы с деревьями ссылок на веб-страницы. Говоря проще, она может использоваться для создания меню, "хлебных крошек" (breadcrumbs), ссылок и карт сайта, либо использоваться в качестве модели в других целях, связанных с навигацией.

## Страницы и контейнеры

Есть две основные концепции в `Zend_Navigation`:

### Страницы

Страница (`Zend_Navigation_Page`) в `Zend_Navigation` в своем основном проявлении является объектом, которй хранит ссылку на веб-страницу. Кроме собственно ссылки, объект страницы содержит и другие свойства, которые, как правило, относятся к навигации - `label` (метка), `title` (заголовок) и т.д.

Более подробную информацию о страницах читайте в разделе о страницах.

### Контейнеры

Контейнер (`Zend_Navigation_Container`) в `Zend_Navigation` является классом-контейнером для страниц. Он имеет методы для добавления, извлечения, удаления и обхода страниц. Класс контейнера реализует интерфейсы из SPL `RecursiveIterator` и `Countable`, таким образом, он может использоваться с SPL-итераторами, такими, как `RecursiveIteratorIterator`.

Более подробную информацию о контейнерах читайте в разделе о контейнерах.

`Zend_Navigation_Page` расширяет `Zend_Navigation_Container`, это значит, что любая страница может содержать подстраницы.

## Разделение данных (модели) и отображения (вида)

Классы в пространстве имен `Zend_Navigation` не занимаются отображением элементов навигации. Отображение производится с помощью соответствующих помощников видов. Тем не менее, страницы содержат информацию, которая используется помощниками видов при отображении, например, метку, класс CSS, заголовок, свойства `lastmod` (дата последнего изменения) и `priority` (приоритет) для карт сайта и т.д.

Более подробную информацию об отображении элементов навигации читайте в разделе о помощниках навигации.