一般来说,什么是域文件夹?这是什么意思/包含什么?

时间:2019-12-28 10:06:29

标签: php design-patterns architecture frameworks

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

“域”文件夹代表什么?其中包含哪些逻辑或代码?它与实际的域名有关系吗?

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

编辑: 为了提供一个最终促使我问这个问题的具体示例,我正在研究由php“ slim”框架生成的入门样板。您可以使用php的工具撰写器并运行以下命令来生成该项目:

composer create-project slim/slim-skeleton [app-folder]

这里是a link到github上的仓库。在该项目的“ src”文件夹中,有一个“域”文件夹。至少对于此特定示例,“域”文件夹代表什么?

1 个答案:

答案 0 :(得分:0)

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

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

编辑: 在您提到的示例中,如您所见,在域部分中存在一个“用户”模型,其中包含他们的某些服务,例如其存储库的异常或接口。