# Введение

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` (приоритет) для карт сайта и т.д.

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