【发布时间】:2014-08-21 18:08:39
【问题描述】:
在我的控制器中,我有 2 个带有注释的操作:
/**
* Lists all Mains entities.
*
* @Route("/{lang}/{main_name}", defaults={"lang" = "de"})
* @Method("GET")
* @Template()
*/
public function mainAction($lang,$main_name)
{
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('MyWebsiteBundle:Main')->findOneBy(array('name'=>$main_name));
echo $entity->getContent();
die;
}
/**
* Lists all Branches.
*
* @Route("/{lang}/{branch}/b{id}", defaults={"lang" = "de"})
* @Method("GET")
* @Template()
*/
public function branchAction($lang,$id)
{
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('MyWebsiteBundle:Branch')->find($id);
echo $entity->getMain()." > ".$entity->getName()."<br><br>";
echo $entity->getContent();
die;
}
当我在没有“lang”的情况下调用 mainAction 链接时,例如:“localhost/contact”而不是“localhost/en/contact” 它有效,调用了站点“contact”。
但是当我将 branchAction 称为“localhost/products/b2”而不是“localhost/en/products/b2”时,我收到错误,因为我认为它被称为 mainAction。
我想做的事有可能吗?感谢您的支持!!
【问题讨论】:
标签: php symfony routing annotations