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

Di Extra Bundle Laravel Package

rickysu/di-extra-bundle

A Symfony bundle that adds annotation-based dependency injection configuration, letting you declare services, parameters, and injections directly in PHP classes instead of XML or YAML files.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

Correct the framing before anything else. rickysu/di-extra-bundle is a Symfony 4 bundle, not a Laravel package. Laravel has no bundle loader, no compiler passes, and no Kernel::registerBundles(), so the package cannot execute inside a Laravel request lifecycle. That makes this a cataloguing/dependency-policy decision first, and a feature decision never. Scoped correctly (Symfony estates only), it informs:

  • Dependency-approval policy and catalog hygiene. 7 stars, 0 dependents, one maintainer, composite score 0.125, targeting a framework version (Symfony 4.4) that reached end-of-life in November 2022 (Symfony's own EOL timeline). This is a clean test case for a "single-maintainer, end-of-life-target, zero-adoption" rejection rule — and a signal to fix whatever let it into a Laravel-oriented evaluation queue.
  • Build vs. buy vs. framework-native. The capability it sells — annotation-based service definitions, constructor/property injection, auto-registration — is now native to Symfony (autowiring/autoconfiguration since 3.3/4.0, PHP attributes since 5.4/6.0) and has rough equivalents in Laravel (ContextualAttribute, #[Singleton], #[Bind], $app->extend(), tags). The honest decision is "use the framework," always.
  • Legacy modernization sequencing. If a Symfony 4 app truly exists in the estate, the question it raises is how fast we exit Symfony 4, not whether to adopt this bundle as a bridge. It is a symptom of unfinished migration, not a solution to it.
  • Roadmap non-investment. No product surface, no roadmap slot, no place in a platform-strategy or developer-experience program. The only defensible spend is a timeboxed read of the source as a pattern reference for improving our own service-provider ergonomics.

When to Consider This Package

Consider it only if all of the following hold:

  1. You maintain an existing Symfony 4 application that already depends on annotation-driven DI (e.g. an in-flight JMSDiExtraBundle migration), and it is frozen or in wind-down.
  2. You have no plan to reach Symfony 5.4/6+ within a reasonable window — because the moment you do, the bundle is dead weight.
  3. You are willing to vendor or fork it and own it internally: security patches, PHP 8+ compatibility fixes, and constraint loosening are yours, not an upstream maintainer's.
  4. Your dependency policy explicitly permits single-maintainer, zero-adoption packages (MIT helps legally; adoption signals do not).

Look elsewhere — usually at the framework itself — if any of these are true:

  • Laravel or any non-Symfony stack. Hard stop; the bundle cannot load. Rewriting its ideas as an Illuminate\Support\ServiceProvider is a design exercise, not an integration.
  • Symfony 5.4+/6.x/7.x. Use native attributes, autowiring, and autoconfiguration; the value proposition is already superseded.
  • Greenfield or actively developed code. Introducing an abandoned-pattern dependency into live code is a net-negative trade.
  • Compliance, security, or long-support requirements. An unmaintained bundle on an EOL runtime is a standing audit finding.
  • You need community support or hireable skills. With 0 dependents there is no ecosystem, no Stack Overflow corpus, and no one to hire against.

Also note the Composer-level blocker: a Symfony 4 bundle pins symfony/* to ^4.x, while Laravel 10/11 ship Symfony 6/7 components — resolution fails outright, and forcing it corrupts the framework's own dependency tree.

How to Pitch It (Stakeholders)

To executives: "We evaluated a small, single-maintainer Symfony add-on that was mis-filed as a Laravel package. It cannot run in our Laravel stack at all, and the convenience it offers has been built into Symfony and Laravel natively for years. It is not a strategic dependency, no product work depends on it, and the recommendation is no investment. If a retired Symfony 4 system ever surfaces, the answer is to finish migrating it — not to add a new dependency to it."

To engineering leadership: "This targets Symfony 4, which is end-of-life, and solves a problem the framework solved natively in 4.0 (autowiring) and 5.4 (attributes). Seven stars and zero dependents mean we'd be the only ones carrying it — estimate 2–5 engineer-days of remediation plus a recurring tax at every PHP and framework upgrade, with the real risk being 'magic' container behavior that's invisible in code review and slow to onboard. If a legacy Symfony 4 service is genuinely stuck mid-migration, allow a one-day timeboxed read of the source purely as a pattern catalog; then implement the two highest-value ideas as a ~150-line internal provider base class and measure boilerplate removed. Otherwise, standardize on framework-native DI."

Ask / next step: one named owner, a half-day gate to confirm no Symfony 4 estate is in scope, an architecture decision record closing the question so it doesn't resurface, and a default decision of do not adopt.

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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle