0

我是 Zend 的新手,但非常热衷于学习。这实际上只是一个关于 Zend 框架中路由的快速问题。

我了解它的基本原理,但我仍然对如何在 URL 末尾创建一些可选参数感到困惑。例如,我有以下默认页面 URL:

examplesite.com/accounts/enquiry

我现在想向它添加两个附加参数,即:

userid= 6
location= 12

因此,最终的 URL 应如下所示:

examplesite.com/accounts/enquiry/6/12
but   
examplesite.com/accounts/enquiry    

将带您到同一页面。

我不清楚。它是怎么做到的?我的意思是,这不是一个定制的 URL。所以,我不需要创建自定义路线。它基本上只是需要添加到页面的最后两个参数。

我该怎么做呢?

4

2 回答 2

1

前 2 个参数是控制器和动作名称,即命名参数。给你:

examplesite.com/accounts/enquiry/userid/6/location/12

或者您可以像这样定义自己的路线:

$route = new Zend_Controller_Router_Route('accounts/enquiry/:userid/:location);

然后将其添加到路由器:

$router->addRoute('accounts', $route);
于 2013-06-13T11:26:18.587 回答
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

于 2013-06-13T12:47:26.463 回答