gpt4 book ai didi

php - Symfony:使用全局变量

转载 作者:行者123 更新时间:2023-12-04 23:12:00 25 4
gpt4 key购买 nike

我知道...远离全局变量。

问题是我真的,​​真的,需要一个可访问的值,最重要的是可修改来自应用程序的不同部分。这是我出于调试目的需要观察的某些操作的计数器。谷歌搜索任何与 Symfony 和全局变量相关的东西,总是让我得到建议使用容器参数或 Twig 全局变量的结果,但根据 Symfony 文档,事情是这样的:

You can only set a parameter before the container is compiled: not at run-time.



Twig 全局变量几乎超出了范围,因为我需要它们在 Controller 中,而不是在 View 中。

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

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

谢谢!

最佳答案

创建具有私有(private)属性 ApplicationGlobals 的服务(例如:$counter)和公共(public) setter 和 getter 来读取和写入值。服务类将被自动实例化,并且可以从您可以使用容器的任何地方访问(在 Controller 中获取它或将其作为参数传递给其他服务)。

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

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

关于php - Symfony:使用全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51025113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com