Rozdział 5. Zend_Controller_RewriteRouter

Spis treści

5.1. Wprowadzenie
5.2. Użycie routera
5.3. Podstawowe trasy
5.4. Domyślne wartości zmiennych
5.5. Wymagania zmiennych
5.6. Bazowy adres URL i podkatalogi
5.7. Domyślne trasy

5.1. Wprowadzenie

Zend_Controller_RewriteRouter jest nową wersją routera we frameworku. Routing jest procesem pobrania adresu URI i rozłożenia go w celu ustalenia jaki kontroler i jaka akcja powinny otrzymać żądanie. Ta informacja o kontrolerze, akcji i opcjonalnych parametrach jest pakowana do obiektu zwanego Zend_Controller_Dispatcher_Token, który jest potem przetwarzany przez Zend_Controller_Dispatcher. Routing ma miejsce tylko raz: wtedy gdy żądanie jest po raz pierwszy otrzymane, przed wywołaniem pierwszego kontrolera.

Zend_Controller_RewriteRouter jest zaprojektowany w celu uzyskania w czystym PHP takiej funkcjonalności jak w mod_rewrite. Jest to luźno wzorowane na routingu Ruby on Rails i nie wymaga żadnej wiedzy o przepisywaniu adresów przez serwer www. Jest to zaprojektowane w taki sposób, aby działało po dodaniu tylko jednej reguły mod_rewrite (jednej z poniższych):

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