Symfony:使用全局变量

VMC*_*VMC 3 php global-variables symfony

我知道...远离全球。

实际上,我确实需要拥有一个可访问的值,并且最重要的是可以从应用程序的不同部分进行修改。这是我出于调试目的需要监视的某些操作的计数器。搜寻与Symfony和全局变量有关的任何内容,总是让我得到建议使用Container参数或Twig全局变量的结果,但根据Symfony文档,事实是:

您只能在编译容器之前设置一个参数:不能在运行时设置。

考虑到我需要在控制器中而不是在视图中使用,Twig全局变量几乎超出了范围。

恕我直言,这两个解决方案都更像是常量而不是变量。

因此,问题是:是否有最佳实践来使用Symfony获得我需要的东西,还是应该只使用PHP全局变量?

谢谢!

Fra*_*k B 5

创建一个ApplicationGlobals具有私有属性$counter,公共设置程序和获取程序的服务(例如:)以读取和写入该值。服务类将自动实例化,并且可以在您可以使用容器的任何地方(将其放入控制器或将其作为参数传递给其他服务)访问。

稍后,您将能够在需要时使用适当的getter和setter添加多个变量,并在项目中使用它们。

我认为您甚至可以编写一个在Symfony终止时存储新值的析构函数。http://symfony.com/doc/current/service_container.html#creating-configuring-services-in-the-container