ZF2 - 产生网址从路线(ZF2 - Generating Url from route)

2019-08-19 01:29发布

我想不出来生成网址来自世界各地,我想,在Zend公司2

我得到的行动和控制,所以我试试这个:

$this->url('myControllerName', array('action' => 'myActionName'));

但这返回一个对象,我只是希望这条路线的完整的URL字符串

有人可以帮助我找到正确的方法是什么?

编辑:根据斯托扬,也许我我的路线上犯了一个错误。 这里是我module.config的一部分

'router' => array (
                'routes' => array (
                        'indexqvm' => array (
                                'type' => 'segment',
                                'options' => array (
                                        'route' => '/Indexqvm[/:action][/:id_event]',
                                    'constraints' => array (
                                            'action' => '[a-zA-Z][a-zA-Z0-9_-]+',
                                            'id_event' => '[0-9]+'
                                    ),
                                    'defaults' => array (
                                            'controller' => 'Qvm\Controller\Indexqvm',
                                            'action' => 'index' 
                                    ) 
                            ) 
                    ),

我的电话:

echo $this->url('indexqvm', array('action' => 'list-index'));

错误:捕获的致命错误:类的Zend \的mvc \控制器\插件\地址的对象不能被转换成字符串

Answer 1:

使用回声之前调用$this->url(...)参见下文),这将显示整个URL。

<?php echo $this->url('route-name', $urlParams, $urlOptions); ?>

需要注意的是第一放慢参数url()是你在指定的路径名[module]/config/module.config.php文件。

请参阅此有关ZF2的URL视图助手的更多信息。

编辑回应的问题编辑:

上面的部分是有关使用URL视图助手。

如果你想在控制器中的URL,那么你需要的URL控制器插件。

<?php $url = $this->url()->fromRoute('route-name', $params, $options); ?>

这是参照ZF2手册此控制器插件。

希望这可以帮助 :)

斯托扬



Answer 2:

您可以在一个.phtml文件中使用此

echo $this->url('HelloWorld/default', array('controller'=>'Index', 'action'=>'registration'));

其中的HelloWorld /默认路由,其余的是控制器和动作,你也可以发送其他参数只是在数组键和值对添加。



文章来源: ZF2 - Generating Url from route