Symfony/Twig如何通过注解渲染得到的Route?
Symfony/Twig how to render a Route set by anotation?
假设我在控制器中有这段代码:
<?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);
}
}
如何 link 到树枝模板中的这条路线?通常我可以打电话
{{ path('route_name', {'paramkey': 'paramvalue'}) }}
但在这里我没有名字可以呼唤。同样的事情,我如何在控制器中调用它(用于重定向)?
谢谢。
当您省略名称时,系统会自动为您生成名称。
自动生成的名称是 bundle + controller + action 的小写串联。例如,如果您有:
- 捆绑包
AppBundle
- 控制器
MyController
- 操作:
testAction()
名称将是 app_my_test
。
您可以使用 Terminal
列出所有路线:
php app/console router:debug
所有路线的名称,包括那些自动生成的,都将在那里。
希望这对您有所帮助...
假设我在控制器中有这段代码:
<?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);
}
}
如何 link 到树枝模板中的这条路线?通常我可以打电话
{{ path('route_name', {'paramkey': 'paramvalue'}) }}
但在这里我没有名字可以呼唤。同样的事情,我如何在控制器中调用它(用于重定向)?
谢谢。
当您省略名称时,系统会自动为您生成名称。
自动生成的名称是 bundle + controller + action 的小写串联。例如,如果您有:
- 捆绑包
AppBundle
- 控制器
MyController
- 操作:
testAction()
名称将是 app_my_test
。
您可以使用 Terminal
列出所有路线:
php app/console router:debug
所有路线的名称,包括那些自动生成的,都将在那里。
希望这对您有所帮助...