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

fusonic/ddd-extensions

A lightweight PHP package of Domain-Driven Design building blocks, offering reusable base classes and extensions for entities, value objects, aggregates, and domain events. Helps keep Laravel and plain PHP projects structured around explicit domain models.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • DDD adoption depth: Helps decide whether the product's domain layer gets real tactical DDD building blocks (value objects, aggregate roots, domain events, typed IDs) versus staying with an anemic, ActiveRecord-style model. This package supplies thin base classes and Doctrine mappings for those primitives, so it directly informs the "how far do we go with DDD" roadmap question.
  • Framework fit / stack commitment: The single most important decision this surfaces is Symfony + Doctrine ORM vs. Laravel + Eloquent. Despite being framed as a "Laravel/PHP package," this library is explicitly Symfony/Doctrine-oriented (Doctrine embeddables, Symfony event dispatching). For a Laravel shop it is a reference design, not a drop-in dependency — so it feeds the "standardize our domain layer on our existing framework" decision rather than a purchase decision.
  • Build vs. buy (buy = near zero here): At 1 star and 0 dependents, this is effectively a build signal. The useful PM decision is whether to (a) copy the patterns in-house, (b) adopt a mature alternative (Broadway, Prooph, Doctrine's own embeddables, or framework-native abstractions), or (c) take this as a dependency and own the maintenance risk.
  • Modularization / bounded-context roadmap: DDD base classes make it cheaper to carve bounded contexts out of a monolith (IDs, aggregates, domain events as integration seams), so this supports planning around legacy modernization and service extraction.
  • Use-case triage: Best fit for domain-rich products with real invariants (billing, pricing, scheduling, compliance) — poor fit for CRUD-heavy admin tooling where DDD tax outweighs benefit.

When to Consider This Package

Consider it when all of the following hold:

  • The stack is Symfony with Doctrine ORM (not Laravel/Eloquent).
  • The team has genuine DDD intent — aggregates, value objects, domain events — and wants minimal, idiomatic base classes rather than a heavyweight framework.
  • You are comfortable vendoring or forking the code: 1 star, 0 dependents, MIT license, and no meaningful community means you own the maintenance and the upgrade path.
  • You want an illustrative reference implementation of DDD primitives mapped cleanly to Doctrine (typed IDs, embeddables, domain-event dispatch), even if you don't ship the dependency.

Look elsewhere when:

  • You are on Laravel — there is no Eloquent integration here; porting means rewriting the persistence layer.
  • You need production-grade support, docs, or a community: prefer Broadway/Prooph, Doctrine's native embeddables and custom types, or first-party framework features.
  • The domain is CRUD-dominant — DDD scaffolding adds ceremony without payoff.
  • You need audited, maintained dependencies for a regulated or long-lived product; a single-maintainer, near-zero-adoption package is a supply-chain and bus-factor risk.

How to Pitch It (Stakeholders)

To executives: This is a small open-source Symfony library that provides reusable domain-model scaffolding. It is not a Laravel package and not a product dependency we should adopt as-is. The value is directional: it shows what a disciplined domain layer looks like and helps us size the DDD-versus-simple-CRUD decision. Recommendation: evaluate as a reference, not a dependency — no procurement cost, no license risk (MIT), but also no community support, so any real adoption means we own the code.

To engineering: It bundles DDD primitives — typed identifiers, value-object embeddables, aggregate roots, domain-event dispatch into Symfony's EventDispatcher — mapped for Doctrine ORM. Adoption cost is low in code, high in ownership: 1 star, 0 dependents, single maintainer. If we want these patterns, either fork the relevant pieces into our own domain-support package (preferred) or use a mature alternative. If the team is on Laravel, treat this purely as a design reference and implement equivalents with Eloquent custom casts and framework events.

Bottom line for the roadmap: Green-light a spike, not an integration — 1–2 days to mine the patterns for our own domain layer, with a clear exit from the upstream dependency.

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.
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
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core