我有两个控制器:
class FirstController extends Controller
{
/**
* @Route("/first")
*/
public function indexAction()
{
$second = new SecondController();
$second->doit();
}
}
class SecondController extends Controller
{
public function doit()
{
$render = $this->renderView('::base.html.twig');
//write $render to disk
}
}
我做错了什么?
答案 0 :(得分:2)
您不应该自己实例化控制器。该框架应该为您做到这一点。如果您在controller1中,并希望controller2实际处理请求(可能会使用您的一些解释),则需要forward to it,如下所示:$this->forward('MyBundle:MyController:myaction)
此外,您应该在服务中使用doit
方法。控制器应该保持瘦,并且只关心HTTP: