一般来说,什么是域文件夹? mean/contain 是什么意思?

Generally speaking, what is a Domain folder? What does it mean/contain?

最近我一直在研究许多不同的 php 框架和各种 php 包。每当我第一次看项目时,比如所说的框架或包,我都会尝试消化它的目录结构以获取有关其组织的线索。我注意到经常有重复出现的主题,例如 "app" 文件夹、"tests" 文件夹、"src" 文件夹、"var" 文件夹等等。通常我理解这些文件夹代表什么或意味着什么,但是最近我在项目目录中遇到了一个我不理解的文件夹:一个 "Domain" 文件夹。

域文件夹代表什么?其中包含什么样的逻辑或代码?它与实际域名有任何关系吗?

任何和所有输入将不胜感激。

编辑: 为了提供最终促使我提出这个问题的具体示例,我正在查看由 php "slim" 框架生成的入门样板。您可以使用 php 的工具 composer 和 运行:

生成此项目
composer create-project slim/slim-skeleton [app-folder]

这是 github 上的回购 a link。在这个项目的 "src" 文件夹中,有一个 "Domain" 文件夹。至少对于这个具体的例子,域文件夹代表什么?

"Domain" 是 DDD(领域驱动设计)架构中的主要术语。它有很多概念需要学习,但总而言之,我们可以说领域部分是应用程序逻辑的核心部分,它包含领域模型及其服务,如工厂和模型验证。我建议你阅读这篇参考资料,它可以帮助你理解 DDD 概念。

https://martinfowler.com/tags/domain%20driven%20design.html

编辑: 在您提到的示例中,如您所见,域部分中有一个 "User" 模型,其中有一些服务,例如其存储库的异常或接口。