Symfony ExceptionListener:如何处理依赖项?

时间:2014-01-15 14:42:54

标签: php exception symfony dependency-injection

我正在尝试使用基于symfony2组件的自己的框架,如Fabien Potencier教程系列中所述。到目前为止,一切都很清楚,除了一件事。

我已经建立了本教程最后一部分中描述的容器构建器: http://fabien.potencier.org/article/62/create-your-own-framework-on-top-of-the-symfony2-components-part-12

我在容器制造商中添加了树枝:

$sc->register('twigLoader', 'Twig_Loader_Filesystem')
   ->setArguments(array('%templatePath%'));
$sc->register('twig', 'Twig_Environment')
   ->setArguments(array(new Reference('twigLoader'), array()));

与发生异常时将调用ErrorController的部分相比:

$sc->register('listener.exception', 'Symfony\Component\HttpKernel\EventListener\ExceptionListener')
   ->setArguments(array('Calendar\\Controller\\ErrorController::exceptionAction'));

但要显示由twig呈现的正确错误页面,我需要在错误控制器中使用twig依赖项。我怎么能这样做?

请注意,我不使用完整的symfony框架,只使用组件!

1 个答案:

答案 0 :(得分:0)

噢噢......我已经拥有了它。我唯一需要改变的是错误控制器不必返回响应对象。相反,它现在返回一个数组,而我的正常响应监听器与twig对象作出反应,我有一个由twig处理的自定义错误页...