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 Design Laravel Package

php-ddd/domain-driven-design

php-ddd/domain-driven-design helps Laravel/PHP developers structure applications around bounded contexts and domain logic, with reusable DDD building blocks and conventions for entities, value objects, aggregates, repositories, services, and domain events.

Deep Wiki
Context7

Product Decisions This Supports

  • Architecture direction: Informs whether a Laravel product should adopt tactical DDD patterns—entities, value objects, aggregates, repositories, domain events, and bounded contexts—for a complex domain rather than relying solely on Eloquent models.
  • Build vs. buy/reference: Supports a decision to treat this package as a reference implementation, not a production dependency. Its MIT license allows concept reuse or isolated code borrowing, but its archived status and 2015 release make it unsuitable as a maintained runtime dependency.
  • Domain complexity triage: Helps the team decide which workflows justify richer domain modeling and which should remain simple Laravel CRUD. DDD should be reserved for areas with real invariants, business rules, and cross-team boundaries.
  • Roadmap and refactoring scope: Can inform a roadmap item to introduce domain-oriented boundaries in a modular monolith, especially where Eloquent models have become overloaded with business logic.
  • Engineering standards: Provides prior art for defining internal conventions around aggregates, repositories, and domain events. The PM can use it to frame discussions about consistency, ownership, and testability—not to mandate a specific library.
  • Vendor/package due diligence: Demonstrates the need to evaluate maintenance, PHP version compatibility, security posture, and community adoption before adding a package to the Laravel stack.

When to Consider This Package

Consider it only as a learning or reference artifact when:

  • The team is evaluating DDD tactical patterns in PHP and wants a lightweight historical example.
  • The product has a genuinely complex domain where bounded contexts, aggregates, and domain events are being discussed.
  • Engineering has capacity to audit, fork, or extract ideas under the MIT license.
  • The target application runs on an older PHP stack compatible with the package, or the package is used only outside production paths.
  • The goal is team education, architecture spikes, or documenting internal conventions—not shipping a supported dependency.

Look elsewhere when:

  • You are starting a new Laravel application or require active maintenance, security updates, and PHP 7/8+ compatibility.
  • You need first-class Laravel integration, Eloquent interoperability, Artisan tooling, queue/event integration, or long-term vendor support.
  • The domain is mostly CRUD, reporting, or simple workflow automation.
  • The organization requires maintained dependencies, clear release cadence, and responsive issue resolution.
  • The team would need to fork substantial code or own compatibility work without a dedicated budget.

How to Pitch It (Stakeholders)

Executive summary: This package is not recommended as a production dependency. It is archived, last released in 2015, and has low adoption signals. Its value is as a reference point for deciding where DDD patterns may reduce complexity in domain-heavy parts of a Laravel product—not as a library to install and support.

Engineering summary: Use it to study Eric Evans-style tactical patterns and to align on internal conventions, but do not add it to Composer for new work. Prefer maintained alternatives, framework-native patterns, or a small internal domain layer. Any code reuse should be limited, audited, and isolated behind clear boundaries.

Product recommendation: Fund a short architecture evaluation only if the roadmap includes complex domain workflows or a legacy refactor. Otherwise, avoid DDD tooling overhead and keep the Laravel application simple. The key decision is not “adopt this package”; it is “which parts of the product deserve richer domain modeling, and who owns those boundaries?”

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.
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle