havvg/dry-bundle
A Symfony bundle that promotes DRY development by packaging reusable helpers and conventions for reducing boilerplate and repeated configuration across your application.
havvg/dry-bundle should not be adopted as a dependency. The PM decision it supports is to classify it as reference material, not infrastructure.HavvgDRYBundle) wired through bundle registration, XML/YAML service definitions, and compiler passes. None of that surface is portable to Laravel. The PM takeaway is that any "Laravel integration" here is actually a rewrite, and rewrites must be justified on their own merits — which this package does not supply.__toString), tag-based service collection, and small pure-PHP string/array helpers. Those ideas belong in an internal ADR and a Laravel-native implementation (boot{TraitName}() conventions, service providers, Illuminate\Support\Str/Arr, local scopes), not in composer.json.HasTimestamps, SoftDeletes, HasUuids, Str::slug).symfony/symfony ~2.0 constraints create unacceptable upgrade and support risk — which is the case here.Executive summary: havvg/dry-bundle is a small, abandoned Symfony2 helper bundle with essentially no adoption — 9 stars, zero dependents, and a framework that reached end of life in 2018. It offers no strategic or commercial leverage and is not usable in our Laravel stack; adapting it would be a rewrite, not an integration. Recommendation: do not adopt, do not add it to any product plan. If it appears in legacy code, isolate it, document the dependency, and schedule removal during modernization. The only spend justified here is a short, time-boxed reference audit to see whether any of its DRY patterns are worth reimplementing ourselves.
Engineering summary: Treat this as reference material. Nothing in its Symfony bundle wiring — service definitions, compiler passes, kernel registration — maps onto Laravel's service providers and container. Reading the source is cheap and may surface useful patterns for model traits, tag-based service collection, and small pure-PHP utilities; porting any of it is self-funded work we would own entirely. If we extract anything, reimplement it idiomatically in Laravel with tests and an owner — never by adding Havvg\... classes or the package to require. Verify licensing before copying a file, keep the copied surface small enough to delete in one commit, and record the outcome (adopt-a-pattern or no-adopt) as an ADR so the question doesn't resurface.
How can I help you explore Laravel packages today?