Symfony:如何处理常见的请求范围数据

Symfony: How to handle common request scope data

我正在将遗留 PHP 项目(面向对象之前)迁移到 Symfony2。对于每个请求,我必须:

一个天真的方法是:

听起来很乏味。也许这样会更好:

可行吗? 特别是,树枝 variable/service 和订阅者是否总是相同的?或者该服务可以是新创建的实例吗?

这是某种滥用吗?或者对于这种用例是否有官方推荐的方法?

编辑 不仅每个树枝模板都需要数据,某些控制器也需要数据。

在每个 Controller-Action 中调用特定方法确实是一个糟糕的解决方案。您使用订户的解决方案也不完美。

在不详细了解您的用例的情况下,很难找到合适的方法。 也许一种方法是编写 Twig-Extension 并将服务注入到该扩展中。该服务将通过依赖注入获取请求堆栈并计算相关数据。然后,您可以在渲染期间通过 Twig-Extension "on demand" 访问此数据。
另一种方法可能是在渲染期间使用子请求 ()

也许这些提示已经对您有所帮助。否则让我知道更多细节,在渲染过程中在哪里/如何需要数据。