php - 在 PHP 中加载依赖项的正确方法是什么?

标签 php include dependencies

我对在 PHP 中加载依赖类的正确方法/最佳实践有疑问。

我通常以类似于 Java 导入的方式将所有依赖项放在带有 include_once 的每个类的开头。像这样的东西:

include_once 'dto/SomeObjectDTO.php;'
include_once 'dao/SomeObjectDAO.php;'
include_once 'util/SomeObjectUtil.php;'

class SomeObjectService{
    #class code here
}

这是加载类的最佳方式?或者加载 Bootstrap.php 中的所有类?其他方式?

请注意,我说的是加载我自己的类,而不是像框架这样的复杂外部类。

最佳答案

正如 Homer6 所说,自动加载是 php 内置的依赖加载机制。

PHP-FIG提出了一系列称为 PSR 的 PHP 编码标准。 PSR-0 处理类命名和自动加载。以下是一些链接:

此外,请记住,自动加载是有代价的。在建议的默认自动加载器中有很多字符串工作和 fs 工作(您可以实现自己更快的自动加载器,但它不符合标准)。当您需要加载大量类时,这会使自动加载变慢。因此,如果您只需要加载 2 个类,您的方法会更快且更易于理解。

关于php - 在 PHP 中加载依赖项的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13625707/

相关文章:

javascript - Angular - 在当前 ts 文件中包含额外的 ts 文件

testing - Gradle:自动添加对项目的测试依赖

PHP ini_set ("max_execution_time") 从 exec() 运行脚本时失败

声明为 "final"的 PHPUnit Stubbing 类方法

c++ - 包括 <cstdio> 和 <stdio.h> 的正确顺序?

dependencies - 如何让 SCons 选择性地忽略对自定义构建器的依赖?

sql - 确定表是否受到任何触发器的影响

php - 需要帮助将我的 PHP 和 MySQL 脚本从 mysql 转换为 mysqli?

php - 如何获取从 PUT 方法传递的数据

php - 将 PHP 变量包含到 CSS 中