Получение Zend Framework Router / модуль / ЗНАЧЕНИЕ / контроллер / действие - PullRequest
0 голосов
/ 17 апреля 2010

Я гуглял вокруг и не могу найти ничего, что хорошо объясняет использование маршрутизатора ZF.Я прочитал документацию на сайте, которая, кажется, говорит только о перенаправлении.

Я пытаюсь сделать формат: / module / value / controller / action give / module / controller / action passзначение в качестве параметра

например, / store / johnsmithbigsale / home / newstuff будет маршрутизировать в / store / home / newstuff, передавая johnsmithbigsale в качестве значения параметра со скрытым пространством имен, например storeName.

Некоторая помощь будет очень полезна!

1 Ответ

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

Вы можете использовать Zend_Controller_Router_Route , чтобы отобразить ваши части URL на модули, контроллеры, действия и параметры, которые могут использоваться в контроллере с помощью $ this -> _ getParam ('varName'). Вы можете определить эти маршруты в файле application.ini или в начальной загрузке приложения.

// custom city route
$route = new Zend_Controller_Router_Route(
    'cities/:city',
    array(
        'controller' => 'city',
        'action'     => 'view'
    )
);
$this->addRoute('city', $route);

// custom buy widgets route
$route = new Zend_Controller_Router_Route_Regex(
    'buy_(.+)_widgets/([0-9]+)(.*)',
    array(
        'controller' => 'widgets',
        'action'     => 'view'
    ),
    array(
        1 => 'nothing',
        2 => 'widget_id',
        3 => 'vars'
    )
);
$this->addRoute('widgets', $route);

Маршрут регулярного выражения специфичен для моего приложения, но вы можете видеть, что каждое совпадение может быть сопоставлено с параметром.

...