gpt4 book ai didi

php - 如何在不使用全局状态的情况下访问我的单例?

转载 作者:可可西里 更新时间:2023-10-31 22:49:07 26 4
gpt4 key购买 nike

我知道单例模式不好,因为它使用全局状态。但是在大多数应用程序中,您需要一个类的单个实例,例如数据库连接。所以我设计了我的数据库对象,但没有使用单例模式,但我只实例化了一次。

我的问题是,我怎样才能在低级类(对象图中的深处)中访问我的对象而不将它传递到所有地方?

假设我有一个应用程序 Controller ,它实例化(要求工厂实际实例化它)一个页面 Controller ,它实例化一个需要数据库对象的用户模型。

我的应用程序 Controller 和页面 Controller 都不需要知道数据库对象,但 User 类需要。我应该如何将对象传递给它?

感谢您的宝贵时间!

最佳答案

考虑使用全局容器:

  • 您注册确实与应用程序的多个子系统相关的对象。
  • 然后您请求容器那些对象。

这种方法在依赖注入(inject)框架中非常流行(参见 Symfony DI、Yadif)。

关于php - 如何在不使用全局状态的情况下访问我的单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3326722/

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