我有以下Symfony控制器:
/**
* Says thanks to the user for signing up.
*
* @Route("/thanks", name="user")
* @Template()
*/
public function thanksAction()
{
return $this->render('VNNPressboxBundle:User:thanks.html.twig');
}
Run Code Online (Sandbox Code Playgroud)
如果我不包含该return语句,则会收到错误消息,指出控制器必须返回响应.有趣的是,我必须手动指定我的动作需要使用哪个模板,考虑到Symfony可以根据我的控制器和动作轻松解决这个问题.再加上Symfony 1.x的工作方式.
我不得不想象我错过了一些东西.似乎他们不会在Symfony 1.x中应用约定优于配置概念,然后在Symfony> = 2.0中放弃它.
是否有可能告诉Symfony根据我的控制器和操作找出要使用的模板,如果是,如何?
你必须归还一些东西.您正在使用@Template注释,因此您不必呈现响应,但仍需返回模板的参数数组(在您的情况下为空):
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
/**
* Says thanks to the user for signing up.
*
* @Route("/thanks", name="user")
* @Template()
*/
public function thanksAction()
{
return array();
}
Run Code Online (Sandbox Code Playgroud)
阅读文档中有关@Template注释的更多信息:http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/view.html
PS不要将symfony 1.x与Symfony 2.x进行比较.这是两个不同的框架.Symfony 2倾向于明确超越魔法.
| 归档时间: |
|
| 查看次数: |
679 次 |
| 最近记录: |