この質問は、次の変更に関連しています(Symfony 2.2 リリースの一部):
パート1
2.2 より前の Symfony では、ExceptionController
いくつかのカスタム エラー ページを表示するためにオーバーライドしていました。
私はそれを次の方法で行いました:
parameters:
twig.exception_listener.controller: My\CustomBundle\CustomExceptionController::showAction
現在、2.2 にアップグレードした後、例外の生成中に例外がスローされるため、これを行うことができなくなりました (しゃれは意図されていません)。
ExceptionController::__construct() は Twig_Environment のインスタンスである必要があり、何も指定されず、呼び出されます...
は現在サービスであるため、それExceptionController
をオーバーライドするにはどうすればよいですか?また、古いコードで何を変更する必要がありますか?
カスタム クラスで行ったのは、showAction メソッドのテンプレート参照を変更したことだけです。
$template = new TemplateReference('TwigBundle', 'Exception', $name, $format, 'twig');
パート2
ExceptionController
extends がなくなったのでContainerAware
、現在のコンテナーにアクセスするにはどうすればよいですか? 実装するだけで十分ContainerAwareInterface
ですか?