【问题标题】:Symfony/Twig how to render a Route set by anotation?Symfony/Twig 如何通过注释渲染路由集?
【发布时间】:2015-06-22 14:41:28
【问题描述】:

假设我在控制器中有这段代码:

<?php

namespace Foo\BarBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration as Mvc;

/**
 * @Mvc\Route("/foo/bar")
 */
class TestController extends Controller
    /**
     * @Mvc\Route("/test/{id}", requirements={"id" = "[0-9]{1,6}"})
     * @Mvc\Template
     *
     * @return view
     */
    public function testAction($id)
    {
        return array('test' => $id);
    }
}

如何在树枝模板中链接到这条路线?通常我可以打电话

{{ path('route_name', {'paramkey': 'paramvalue'}) }}

但是在这里我没有名字可以叫。同样的事情,我如何在控制器中调用它(用于重定向)?

谢谢。

【问题讨论】:

    标签: php symfony routing twig url-routing


    【解决方案1】:

    当您省略名称时,它会为您自动生成。

    自动生成的名称是捆绑包 + 控制器 + 动作的小写连接。例如,如果您有:

    • 捆绑AppBundle
    • 控制器MyController
    • 操作:testAction()

    名称将是app_my_test

    您可以使用Terminal列出所有路线:

    php app/console router:debug
    

    所有路线的名称,包括那些自动生成的,都会在那里。

    希望这会有所帮助...

    【讨论】:

    • 是的,只需将name="your_route_name" 添加到您的路线声明中即可。
    猜你喜欢
    • 2016-11-29
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多