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

Ddd Doctrine Bundle Laravel Package

alexandrebulete/ddd-doctrine-bundle

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Adoption of Domain-Driven Design (DDD) patterns in a Symfony/PHP project, particularly for teams prioritizing clean architecture, bounded contexts, and separation of concerns.
  • Accelerated development for projects requiring Doctrine ORM integration with DDD principles (e.g., repositories, value objects, and custom types) without reinventing boilerplate wiring.
  • Roadmap alignment for teams migrating legacy monolithic systems to modular DDD architectures, reducing technical debt in data access layers.
  • Build vs. Buy: Justifies buying (leveraging this package) over building custom Doctrine service wiring, especially for teams with limited DDD expertise or tight timelines.
  • Use Cases:
    • Greenfield projects adopting DDD from the start.
    • Refactoring existing Symfony apps to incorporate DDD repositories and value objects.
    • Projects requiring custom Doctrine types (e.g., UUIDs, enumerations) aligned with domain models.

When to Consider This Package

  • Adopt if:

    • Your team is committed to DDD principles (e.g., using AggregateRoot, ValueObject, or Repository interfaces).
    • You’re using Symfony 7/8 and Doctrine ORM (core dependencies).
    • You need automated service wiring for DoctrineRepository and DoctrinePaginator to avoid manual configuration.
    • Your domain requires custom Doctrine types (e.g., domain-specific IDs or value objects mapped to DB columns).
    • You want to reduce boilerplate in infrastructure layers while maintaining DDD purity.
  • Look elsewhere if:

    • Your project doesn’t use Symfony (this is a Symfony-specific bundle).
    • You’re not using Doctrine ORM (e.g., using Eloquent, Query Builder, or another ORM).
    • Your team lacks DDD experience—this package assumes familiarity with DDD patterns (e.g., repositories, value objects).
    • You need advanced DDD features (e.g., event sourcing, CQRS) beyond basic repository/Doctrine integration (consider packages like spiral/frames or league/tactician).
    • Your project requires high maturity/activity in the package (this has low stars/score; evaluate maintenance risk).

How to Pitch It (Stakeholders)

For Executives:

"This lightweight Symfony bundle streamlines our adoption of Domain-Driven Design by automating Doctrine ORM integration—saving dev time on boilerplate while enforcing clean architecture. It’s a low-risk way to standardize repositories, paginators, and custom data types across our domain layers, reducing technical debt as we scale. Given our Symfony/Doctrine stack, this aligns with our DDD roadmap without requiring custom infrastructure work."

For Engineering:

*"The ddd-doctrine-bundle provides:

  • Autowirable DoctrineRepository base class to standardize repository implementations (no more manual service registration).
  • Built-in DoctrinePaginator for consistent pagination across services.
  • Seamless custom Doctrine type registration (e.g., for domain-specific IDs or value objects).
  • Zero config overhead beyond adding the bundle and defining types in doctrine.yaml.

Why use it?

  • Faster onboarding for DDD patterns (no reinventing repository wiring).
  • Consistency across teams—enforces a single way to interact with Doctrine.
  • Future-proof: Works with Symfony 7/8 and Doctrine’s latest features.

Trade-offs:

  • Low community activity (2 stars), but the underlying ddd-doctrine-bridge is actively maintained.
  • Assumes DDD maturity—best paired with training or existing DDD adoption.

Recommendation: Pilot this in a bounded context (e.g., a new module) to validate the pattern before full adoption."*

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.
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
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log