В вашем бутстрапе вам необходимо настроить некоторые «маршруты». Таким образом, если ваша загрузка заканчивается что-то вроде этого:
$frontController = Zend_Controller_Front::getInstance();
$frontController->dispatch();
вы можете просто добавить в некоторых определениях маршрутов, как это:
$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$router->addRoute('mylovelyroute',
new Zend_Controller_Router_Route_Static('for-fun-link',
array('controller' => 'test', 'action' => 'about')
)
);
$router->addRoute('myotherroute',
new Zend_Controller_Router_Route_Static('about-product',
array('controller' => 'page', 'action' => 'about')
)
);
$router->addRoute('justonemore',
new Zend_Controller_Router_Route_Static('another/longer/path',
array('controller' => 'mycontroller',
'action' => 'myaction',
'someparameter' => 'foo'
)
)
);
$frontController->dispatch();
Первый параметр addRoute()
это просто уникальное имя. Zend_Controller_Router_Route_Static
берет путь, который вы хотите захватить, а затем массив параметров, включая контроллер и действие (и модуль, если он применяется).
Если вы хотите добавить сложность, вы можете загрузить маршруты из базы данных или начать использовать более динамические маршруты. Документы здесь являются полезным следующим шагом: http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.routes.standard
поиск пользовательских маршрутов .. например. http://www.zendcasts.com/creating-custom-zend_controller-routes-2/2009/01/ – Rufinus
Это одно из темных искусств в ZF, поэтому вам нужен более узкий вопрос, чтобы получить полезный ответ. Все, что я могу сделать, это предложить начать [здесь] (http://framework.zend.com/manual/en/zend.controller.router.html) – RockyFord
Большое спасибо. Это очень помогает мне. У меня не было файла bootstrap.php, но я применил код от screencast к index.php, и он отлично работал с preatty :). Еще раз спасибо за помощь. – born2fr4g