php - 在 PHP 中实例化实用程序类的最佳实践
问题描述
随着我越来越熟练地使用 PHP 中的类(PHP 7 '纯',没有框架),我面临一个哲学问题。
我有许多“实用程序”类,例如 PDO、Monolog、i18 翻译等……它们由 Composer 自动加载器和命名空间集中管理,并在我的整个应用程序中使用。
问题是在哪里实例化它们的最佳位置。
即如果我创建一个新函数,我应该:
集中实例化类($pdo = new PDO())(即所有初始化),然后将实例作为全局变量加载到函数中?我应该将实例作为函数参数传递吗?
或者我应该在函数范围内本地实例化类(在我看来,增加实例有点浪费,而且在很多情况下,这意味着必须将全局设置定义为静态类属性?
同样,当我创建一个新类时,最好在 Class 文件的开头实例化该类,然后将其作为参数传递给该类 __construct?
还是在 __construct 方法中创建一个新实例更好?
或者也许将一个实例作为参数传递给需要它的方法......
我怀疑一些答案可能存在于依赖注入的概念中,并且像 PHP_DI 这样的东西可能会在那里提出一些建议,但这仍然超出了我的想象,我正在一步一步地学习!
我到处找,但似乎找不到意见!
谢谢,E。
解决方案
推荐阅读
- c# - c# word 如何将我的文本对齐到右侧?
- android - 如何根据firebase实时数据库android中的另一个节点更新特定节点
- php - php将对象路径传递给函数
- sql-server - MS SQL Server (ubuntu docker) sqlcmd 无法运行脚本文件
- php - 无法使用php从邮递员那里检索帖子值
- sql - 在 SQL 中保存 VB6 值
- javascript - 如何在 JavaScript 中使用 OR 运算符从 Firestore 检索数据?
- node.js - 快速应用中请求响应处理的最佳实践
- bash - 使用 POSIX 提取 git url 的域
- mysql - 为什么我的sql池连接突然关闭