我是Zend的新手,但非常热衷于学习。这实际上只是关于Zend Framework中路由的一个快速问题。
我理解它的基础但我仍然对如何在URL的末尾创建一些可选参数感到困惑。例如,我有以下默认页面URL:
examplesite.com/accounts/enquiry
我现在想要添加两个额外的参数,例如:
userid= 6
location= 12
因此,最终的URL应如下所示:
examplesite.com/accounts/enquiry/6/12
but
examplesite.com/accounts/enquiry
会让你到同一页面。
我不清楚。它是怎么做到的?我的意思是,这不是一个定制的URL。所以,我不需要创建自定义路线。它基本上只是需要添加到页面的最后两个参数。
我该怎么做?
答案 0 :(得分:1)
前2个参数是控制器和动作名称,命名为params。 你在这里:
examplesite.com/accounts/enquiry/userid/6/location/12
或者您可以像这样定义自己的路线:
$route = new Zend_Controller_Router_Route('accounts/enquiry/:userid/:location);
然后将其添加到路由器:
$router->addRoute('accounts', $route);
答案 1 :(得分:0)
您可以在Bootstrap.php
内添加自定义路线,例如(另):
protected function _initRoutes()
{
[...]
$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$accounts = new Zend_Controller_Router_Route(
'accounts/enquiry/:userid/:location',
array(
'userid' => '[0-9]{2}',
'location' => '[0-9]{2}',
'controller' => 'accounts',
'action' => 'enquiry',
)
);
$router->addRoute('accounts', $accounts);
[...]
}
http://framework.zend.com/manual/1.12/en/zend.controller.router.html