Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Domain Driven Bundle Laravel Package

dbrekelmans/domain-driven-bundle

View on GitHub
Deep Wiki
Context7

Domain Driven Bundle

This bundle provides automatic bundle configuration for a domain driven directory structure in Symfony.

Directory structure

The default configuration for this bundle automatically configures the following directory structure:

src/
├── <DomainContextA>/
│   ├── Application
│   ├── Domain
│   │   ├── Entity
│   │   ├── Event
│   │   ├── Factory
│   │   ├── Repository
│   │   ├── Service
│   │   └── ValueObject
│   ├── Infrastructure
│   │   └── config
│   │   │   ├── routes.yaml
│   │   │   └── services.yaml
│   └── Presentation
└── <DomainContextB>/
    └── ...

Installation

Install the bundle with composer: composer require dbrekelmans/domain-driven-bundle.

Routing

Bundle defined routing is never automatically imported in symfony. To automatically import the routing configuration from your context directories, add the following to config/routes.yaml:

framework:
    resource: '@DomainDrivenBundle/Resources/config/routes.yaml'

Configuration

This bundle works out of the box with the directory structure as detailed above. You can configure the directory names and locations in your symfony application in config/packages/domain_driven.yaml.

The default configuration is as follows:

domain_driven:
    directories:
        context: '%kernel.project_dir%/src'
        application: 'Application'
        domain: 'Domain'
        infrastructure: 'Infrastructure'
        presentation: 'Presentation'
        config: 'config'
    files:
        routes: 'routes'
        services: 'services'

Supported bundles

symfony/framework-bundle

Services

Service configuration files are automatically loaded from domain_driven.directories.context/*/domain_driven.directories.infrastructure/domain_driven.directories.config/domain_driven.files.services.{yaml,yml,xml,php}.

Routing

Routing configuration files are automatically loaded from domain_driven.directories.context/*/domain_driven.directories.infrastructure/domain_driven.directories.config/domain_driven.files.routes.{yaml,yml,xml,php}.

symfony/twig-bundle

Templates

Template files are automatically configured in domain_driven.directories.context/*/domain_driven.directories.presentation/domain_driven.directories.template.

Roadmap

Additional bundles support

  • symfony/framework (symfony/translation)
  • doctrine/doctrine-migrations-bundle

Maker command

Console command to create a new context skeleton based on your config. With default configuration will result in the directory structure as detailed above.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus