Symfony / Twig如何通过anotation渲染Route?

时间:2015-06-22 14:41:28

标签: php symfony routing twig url-routing

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

<?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'}) }}

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

感谢。

1 个答案:

答案 0 :(得分:2)

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

自动生成的名称是bundle + controller + action的小写连接。例如,如果您有:

  • 捆绑AppBundle
  • Controller MyController
  • 行动:testAction()

名称为app_my_test

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

php app/console router:debug

所有路线&#39;名称,包括那些自动生成的名称,将在那里。

希望这会有所帮助......