Вам нужно немного прочитать о ZF Routes .Но по сути, вам нужно добавить что-то подобное в ваш Bootstrap.php:
protected function _initRoutes()
{
$this->bootstrap('frontController');
$frontController = $this->getResource('frontController');
$router = $frontController->getRouter();
$router->addRoute(
'name_for_the_route',
new Zend_Controller_Router_Route('controller/action/:key1/:key2/:key3', array('module' => 'default', 'controller' => 'theController', 'action' => 'theAction', 'key1' => NULL, 'key2' => NULL, 'key3' => NULL))
);
}
Значения NULL предоставляют значения по умолчанию.
Затем в вашем контроллере вы сделаете что-то вроде этого:
$key1 = $this->_request->getParam('key1');
$key2 = $this->_request->getParam('key2');
$key3 = $this->_request->getParam('key3');
или используйте метод getParams, который вы упомянули ранее.
Вы также можете использовать функцию PHP array_values () для создания численно индексированного массива, например:
$numericArray = array_values($this->_request->getParams());
Это очень хорошая идея, чтобы привыкнуть использовать маршруты, поскольку они обеспечивают абстракцию между тем, что такое URI, и тем, какие контроллеры / действия вызываются.По сути, вы можете достичь с помощью маршрутов объектно-ориентированного кода, который все еще имеет смысл для программиста, и в то же время URI, который имеет смысл для пользователя.