Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php DDD限定上下文和模块与Symfony2捆绑包_Php_Oop_Symfony_Architecture_Domain Driven Design - Fatal编程技术网

Php DDD限定上下文和模块与Symfony2捆绑包

Php DDD限定上下文和模块与Symfony2捆绑包,php,oop,symfony,architecture,domain-driven-design,Php,Oop,Symfony,Architecture,Domain Driven Design,我正在尝试实现领域驱动设计中的几个概念,比如有界上下文和模块 我正在做一个Symfony2项目,我想使用DDD方法来实现它。Symfony2有捆绑包,每个捆绑包都有多个用于服务、实体、控制器、视图等的文件夹 我希望我的应用程序采用如下分层方法: 这是一个具有层的单一有界上下文 如何将有界上下文、层及其模块映射到Symfony2中的bundle 注意:我知道DDD不仅仅是一个文件夹结构,但我想在这里解决这个特定问题。您可以(而且必须)编写域层框架不可知,这样您就可以遵循DDD最佳实践,以您喜欢的

我正在尝试实现领域驱动设计中的几个概念,比如有界上下文和模块

我正在做一个Symfony2项目,我想使用DDD方法来实现它。Symfony2有捆绑包,每个捆绑包都有多个用于服务、实体、控制器、视图等的文件夹

我希望我的应用程序采用如下分层方法:

这是一个具有层的单一有界上下文

如何将有界上下文、层及其模块映射到Symfony2中的bundle

注意:我知道DDD不仅仅是一个文件夹结构,但我想在这里解决这个特定问题。

您可以(而且必须)编写域层框架不可知,这样您就可以遵循DDD最佳实践,以您喜欢的方式设置文件夹结构。一个好的框架不会用它自己的文件夹结构来限制你。 您可以将捆绑包视为域到Symfony的集成层

对于捆绑包,基本上只需添加:

  • 域层周围的依赖注入
  • 添加持久性层(条令)
  • 添加一个HTTP层
  • 配置
我有一个基本的文件夹结构,如下所示:

  • src
    • 域(与域相关的所有内容)
    • DomainBundle(将域集成到Symfony-DI、配置、具体存储库类、实体映射…)
    • WebBundle(控制器、表单、模板)
因此,您不需要将域逻辑放入捆绑包中。您只需使用它们在域周围添加框架逻辑