【问题标题】:What is the proper way to share objects between classes?在类之间共享对象的正确方法是什么?
【发布时间】:2016-07-09 15:11:49
【问题描述】:

我在正在构建的应用程序中遇到了一个问题,那就是:如何创建单个数据库连接以供跨多个类使用?

稍微阅读后,不同的帖子/人们似乎在告诉我不同​​的事情。使用$_GLOBALglobal 关键字是一种方法,但它有其自身的问题。

Stackoverflow 上的其他线程建议将 Singletons 作为这样做的一种方式,但也表示这不是实现实例共享属性的正确方式。

那么,对于数据库控制器或会话控制器来说,实现此目的的最佳方法是什么?

【问题讨论】:

  • Dependency injection 带有一个容器。查看Pimple
  • This post 提供了最好的,也是 johnconde 提到的 DI
  • @JohnConde 依赖注入是完美的,非常适合我的应用程序,谢谢!你能写一个答案让我接受吗?

标签: php


【解决方案1】:

全局变量和单例变量已成为过去。 Dependenci Injection 是当今最好的方法。当然,会有很多人不同意我的观点,所以最后,选择是你的。

我会推荐使用来自Nette Framework - https://github.com/nette/di 的 DI 实现为什么是这个?因为它会为你做很多工作。例如自动生成依赖注入容器或从简单接口自动生成类工厂。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多