你将需要在
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.