Phalcon PhP - 如何在控制器内使用命名路由

时间:2016-07-18 19:48:35

标签: php phalcon phalcon-routing

我无法找到如何从Phalcon PhP控制器内的命名路径获取Urls。这是我的路线:

SIZE_MAX

我想获得Url,例如:domain.com/admin/application/form-test/10/detail。使用下面的代码,我可以获得html来创建一个链接,与link_to相同。

$router->add(
    '/admin/application/{formUrl:[A-Za-z0-9\-]+}/{id:[A-Za-z0-9\-]+}/detail',
    [
        'controller' => 'AdminApplication',
        'action' => 'detail' 
    ]
)->setName("application-details");

我想要的结果就是网址。我在控制器动作中。我知道它一定很简单,我无法找到一个例子。你能救我吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您应该使用URL帮助器。例如:

$url = $this->url->get(
    [
        'for' => 'application-details', 
        'formUrl' => $form->url,
        'id' => $id,
    ], 
    [
        'q' => 'test1',
        'qq' => 'test2',
    ]
);

如果需要,您可以为查询字符串参数传递第二个数组。

根据你的路线定义,上面应该输出如下内容:

  

/管理/应用/形式的URL / 25 /细节Q = TEST1&安培; QQ = TEST2

Generating URIs in the docs的更多信息。