Symfony2在例外控制器中使用原则

Symfony2在例外控制器中使用原则,symfony,doctrine,Symfony,Doctrine,您好,我正在尝试在默认的ExceptionController中使用条令,但出现以下错误: 致命错误:调用未定义的方法Symfony\Bundle\TwigBundle\Controller\ExceptionController::getDoctrine() 当我试着打电话时: $manager = $this->getDoctrine()->getManager(); 我试图做的是有一个自定义的404页面,在那里我可以显示数据库中的一些项目 你能帮帮我吗?谢谢大家! 您还可以将

您好,我正在尝试在默认的ExceptionController中使用条令,但出现以下错误:

致命错误:调用未定义的方法Symfony\Bundle\TwigBundle\Controller\ExceptionController::getDoctrine()

当我试着打电话时:

$manager = $this->getDoctrine()->getManager();
我试图做的是有一个自定义的404页面,在那里我可以显示数据库中的一些项目


你能帮帮我吗?谢谢大家!

您还可以将条令服务作为依赖项注入控制器中(在这种情况下,您不需要输入类控制器)

您必须创建自己的ExceptionController扩展默认控制器。您必须按此处所述进行声明:。您的自定义控制器必须具有至少具有Registry(条令)类型参数的构造函数。您必须在service.yml(或xml,具体取决于您的配置)中将该控制器声明为服务。请查看symfony文档,以进一步了解如何执行此操作。目前我帮不了你太多,因为我在外面玩我的Android,很难给出很长的答案

你可以使用这个方法,因为ExceptionController不扩展Controller类,你必须扩展这个类并向它注入原则。谢谢,我扩展了Controller类,现在错误是:致命错误:对(..)/vendor/symfony/symfony/src/symfony/Bundle/FrameworkBundle/Controller/Controller.php中的非对象调用成员函数has(),第198 503行服务不可用,但您是否向其注入了条令存储库?,通过您的控制器发布,我们将查看它否,我没有。控制器是默认的Symfony\Bundle\TwigBundle\Controller\ExceptionController,内部没有什么不同,只是我需要从数据库中获取一些东西,然后在404error.twig.htmlook的这个链接上显示它。你能给我一个例子,如何在默认的execptioncontroller中注入条令服务作为依赖项吗?谢谢非常感谢。我会试试这种方法。我回到家,在一台真正的电脑上打字。您可以在这里找到关于服务容器的文档:它相当简单,如果您使用SF2,您将经常使用这些概念