在 PHP 中,数据库访问通常通过 PDO 进行管理。虽然最初尝试可能使用全局变量来访问数据库,但不鼓励这样做。单例模式作为一种替代方案出现,但其合理性仍然值得怀疑。
单例旨在确保单个类实例,但在 PHP 中,内存使用并不是一个令人信服的原因。此外,某些对象只能存在一次的假设通常是有缺陷的。程序员应该强制唯一性,而不是依赖语言机制。
此外,在单个请求中对实例进行全局访问似乎是可取的,但它引入了与全局范围的耦合,阻碍了单元测试和可维护性。依赖注入是在多个类之间共享实例的更合适的替代方案。
单例模式发明者 Erich Gamma 现在主张放弃它,因为它经常被误用为一种设计味道。关于此主题的进一步阅读包括:
如果您仍然不确定,下图提供了额外的指导:
[图片:单例决策图。帮助用户根据特定用例和偏好决定是否使用单例的流程图。]
以上是您应该在 PHP 应用程序中使用数据库单例吗?的详细内容。更多信息请关注PHP中文网其他相关文章!