我将旧版PHP项目(pre-OO)迁移到Symfony2。在每次请求时我都要:
一种天真的方法是:
听起来乏味。也许最好是:
config.yml
中的全局树枝变量。这可行吗? 特别是,枝条变量/服务和订户总是相同吗?或者该服务可以是新创建的实例吗?
这是某种滥用吗?或者这种用例是否有官方推荐的方式?
编辑不仅每个树枝模板都需要这些数据,但在某些控制器中也是如此。
答案 0 :(得分:0)
在每个Controller-Action中调用特定方法确实是一个糟糕的解决方案。您使用订户的解决方案也不完美。
如果不详细了解您的用例,很难找到合适的方法。 也许一种方法是编写一个Twig-Extension并将一个服务注入到这个扩展中。服务将通过依赖注入获取请求堆栈并计算相关数据。然后,您可以在渲染过程中通过Twig-Extension“按需”访问此数据 另一种方法可能是在呈现期间使用子请求(Symfony: How to handle common request scope data)
也许这些提示已经对你有所帮助。否则,请让我了解更多详细信息,在渲染过程中您需要数据的位置/方式。