Глава 5. Zend_Controller_RewriteRouter

Содержание

5.1. Введение
5.2. Использование маршрутизатора
5.3. Основные маршруты
5.4. Значения переменных по умолчанию
5.5. Требования к переменным
5.6. Основной URL и подкаталоги
5.7. Маршрут по умолчанию

5.1. Введение

Zend_Controller_RewriteRouter является новой версией маршрутизатора фреймворка. Маршрутизация является процессом принятия конечной точки URI и ее декомпозиции для определения того, какой контроллер и какое действие этого контроллера должны получить запрос. Определение контроллера, действия и необязательных параметров упаковывается в объект значений, называемый Zend_Controller_Dispatcher_Token и обрабатывается Zend_Controller_Dispatcher. Маршрутизация производится только один раз -- когда вначале получен запрос и до того, как первый контроллер будет запущен.

Zend_Controller_RewriteRouter предназначен для того, чтобы обеспечить функциональность, подобную mod_rewrite, с применением чистого php. Он отчасти основан на маршрутизации в Ruby on Rails и не требует каких-либо предварительных знаний о перезаписи URL веб-сервером. Он спроектирован для работы с единственным правилом mod_rewrite, одним из:

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1