Где я должен определить собственные маршруты в своем приложении ZF 1.10? - PullRequest
0 голосов
/ 17 апреля 2010

С новыми классами Zend_Application / Zend_Application_Bootstrap я не могу понять, где я должен применять свои собственные маршруты. Например, на данный момент у меня есть один маршрут:

protected function _initRouter() {
    $router = new Zend_Controller_Router_Rewrite;
    $route = new Zend_Controller_Router_Route('news/:id', 
        array('controller' => 'news', 'action' => 'view'));
    $router->addRoute('postArchive', $route);           
}

Этот метод в моем Zend_Application_Bootstrap_Bootstrap и определенно запущен. Маршрут также применяется в $router.

На мой взгляд, я могу ошибаться в двух вещах: либо в неправильном месте для добавления этих маршрутов, либо в неправильном маршрутизаторе. Кто-нибудь может указать мне правильное направление с этим?

Ответы [ 2 ]

2 голосов
/ 17 апреля 2010

Похоже, вы не передаете маршрутизатор на фронт-контроллер:

protected function _initRouter() 
{
    $this->bootstrap('frontController');
    $front = Zend_Controller_Front::getInstance(); // from singleton, for example
    $router = $front->getRouter();
    $route = new Zend_Controller_Router_Route('news/:id', 
        array('controller' => 'news', 'action' => 'view'));
    $router->addRoute('postArchive', $route);  

    return $router;
}
0 голосов
/ 12 января 2011

resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname" resources.router.routes.www.route = ": module.domain.tld" resources.router.routes.www.defaults.module = "по умолчанию" resources.router.routes.www.chains.index.type = "Zend_Controller_Router_Route" resources.router.routes.www.chains.index.route = ": controller /: action / *" resources.router.routes.www.chains.index.defaults.controller = "index" resources.router.routes.www.chains.index.defaults.action = "index"

Этот вид строк в файле application.ini в разделе начальной загрузки сделал всю работу за меня ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...