dbrekelmans / domain-driven-bundle
Symfony 的领域驱动目录结构配置。
Requires
- php: ^7.1
- dbrekelmans/coding-standard: ^1.0
- symfony/config: ^4.3|^5.0
- symfony/dependency-injection: ^4.3|^5.0
- symfony/finder: ^4.3|^5.0
- symfony/http-kernel: ^4.3|^5.0
- symfony/routing: ^4.3|^5.0
Requires (Dev)
- roave/backward-compatibility-check: ^4.0
- roave/security-advisories: dev-master
Suggests
- symfony/framework-bundle: Automatically configure services and routes for each domain context.
- symfony/twig-bundle: Automatically configure a template path per domain context.
This package is auto-updated.
Last update: 2020-10-01 00:18:59 UTC
README
此包为 Symfony 中的领域驱动目录结构提供自动配置功能。
目录结构
此包的默认配置自动配置以下目录结构
src/
├── <DomainContextA>/
│ ├── Application
│ ├── Domain
│ │ ├── Entity
│ │ ├── Event
│ │ ├── Factory
│ │ ├── Repository
│ │ ├── Service
│ │ └── ValueObject
│ ├── Infrastructure
│ │ └── config
│ │ │ ├── routes.yaml
│ │ │ └── services.yaml
│ └── Presentation
└── <DomainContextB>/
└── ...
安装
使用 composer 安装此包:composer require dbrekelmans/domain-driven-bundle
。
路由
在 symfony 中,包定义的路由永远不会自动导入。要从上下文目录自动导入路由配置,请在 config/routes.yaml
中添加以下内容
framework: resource: '@DomainDrivenBundle/Resources/config/routes.yaml'
配置
此包与上述详细说明的目录结构一起使用。您可以在 config/packages/domain_driven.yaml
中配置 symfony 应用程序中的目录名称和位置。
默认配置如下
domain_driven: directories: context: '%kernel.project_dir%/src' application: 'Application' domain: 'Domain' infrastructure: 'Infrastructure' presentation: 'Presentation' config: 'config' files: routes: 'routes' services: 'services'
支持的包
symfony/framework-bundle
服务
服务配置文件将自动从 domain_driven.directories.context
/*/domain_driven.directories.infrastructure
/domain_driven.directories.config
/domain_driven.files.services
.{yaml,yml,xml,php}
加载。
路由
路由配置文件将自动从 domain_driven.directories.context
/*/domain_driven.directories.infrastructure
/domain_driven.directories.config
/domain_driven.files.routes
.{yaml,yml,xml,php}
加载。
symfony/twig-bundle
模板
模板文件将在 domain_driven.directories.context
/*/domain_driven.directories.presentation
/domain_driven.directories.template
中自动配置。
路线图
额外包支持
symfony/framework
(symfony/translation
)doctrine/doctrine-migrations-bundle
制作命令
控制台命令,基于您的配置创建新的上下文框架。使用默认配置将导致上述详细说明的目录结构。