使用 URL 视图帮助程序生成 URL,并在之后传递参数


Generating URL with URL view helper, passing params after?

有没有简单的方法可以使用查看网址帮助程序生成网址,其中自定义参数(控制器和操作除外)将在"?"之后?

有一个例子:

<?php echo $this->url(array('controller' => "index", 'action' => "index", 'myParam' => "myValue")); ?>

这将生成:

domain.com/index/index/myParam/myValue

我要

domain.com?myParam=myValue or

domain.com/{controller}/{action}?myParam=myValue

您可以使用正则表达式路由的反向字段,例如:

   $myroute = new Zend_Controller_Router_Route_Regex(''?myParam=(.*)',
                    array(1 => 'defaultValue', 'controller' => 'index', 'action' => 'index', 'module' => 'index'),
                    array(1 => 'myValue'),
                    '?myParam=%s'
    );
   $wwwDomainRoute = new Zend_Controller_Router_Route_Hostname(
                    'www.domain.com');
   $plainPathRoute = new Zend_Controller_Router_Route_Static('');
   //this default route is useful for the default routing
   $router->addRoute('wwwroute', $wwwDomainRoute->chain($plainPathRoute));
   $router->addRoute('myroute', $wwwDomainRoute->chain($myroute));

在您看来,只需使用:

   <?php echo $this->url(array('controller' => "index", 'action' => "index", 'myParam' => "myValue"),'myroute'); ?>

注意:小心您的正则表达式...

相关文章: