maba/dependency-injection-extra
Extra compiler passes for Symfony Dependency Injection that register tagged services into a registry or other service, optionally passing tag attributes, service IDs, or priority-based ordering. Deprecated; use paysera/lib-dependency-injection instead.
CompilerPass class for every integration. That's roughly 20–30 lines of code per case, so the real decision this informs is "do we take a third-party micro-dependency to save boilerplate, or do we own a small internal helper?" For a package this size, owning it is usually cheaper than a dependency.$this->app->tag(), resolve/tagged()), so the package is only relevant to decisions where we ship Symfony bundles or maintain dual-framework packages. It should not leak into the Laravel roadmap as a container strategy.paysera/lib-dependency-injection. That converts the roadmap item from "adopt" into "evaluate the successor" — a decision this package makes for us rather than one it supports.Adopt only in a narrow legacy scenario: an existing Symfony 3/4-era application already has a bundle with several near-identical compiler passes, is pinned to older PHP/Symfony versions, and the team wants a shortcut for the next one without an internal abstraction.
Look elsewhere — or write the ~25 lines yourself — if any of these hold:
If the pattern is genuinely valuable, the correct move is to evaluate paysera/lib-dependency-injection as the maintained option, or vendor a small internal AddTaggedCompilerPass we control.
For executives: This is a tiny, single-purpose utility that saves a developer a few dozen lines of setup code. It is officially deprecated by its author, has no adoption to speak of, and hasn't shipped since early 2020. Recommendation: no investment, no adoption, no procurement — the cost of taking it on exceeds the cost of writing the equivalent ourselves. If we're already using it somewhere, treat it as technical debt with a low-cost exit.
For engineering: The idea is worth copying; the dependency is not. Declarative tagged-service registration via a reusable compiler pass is a reasonable convention for our own packages, and it's small enough to own internally. Do not add maba/dependency-injection-extra to new work — it's deprecated in favor of paysera/lib-dependency-injection, untested against current PHP/Symfony, and effectively unmaintained. Audit existing usages and plan a migration, replacing with either the successor or an in-house pass.
How can I help you explore Laravel packages today?