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

Controller Extra Bundle Laravel Package

mmoreram/controller-extra-bundle

Symfony bundle that cuts controller boilerplate with annotations: inject request params, Doctrine entities, paginators, logged-in users, and cache or log behavior directly into controller actions. Keeps code small and declarative, with custom resolvers for extending it.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Controller-boilerplate strategy (build vs. buy vs. use-framework-native). This bundle is a case study in "annotation-driven controller sugar": it collapses repetitive controller code (entity loading, form handling, pagination, JSON/view response shaping, referer redirects) into declarative annotations. The decision it informs is whether our controllers should carry explicit plumbing or lean on framework-native conventions — not whether to install this package.
  • Laravel stack evaluation: this is a negative result. The package is a Symfony2 bundle, not a Laravel package. For a Laravel roadmap item like "reduce controller boilerplate in our CRUD endpoints," the built-in equivalents (route model binding, Form Requests, API Resources, paginator, back() redirects, response macros) already cover nearly all of this bundle's surface area. The PM decision is don't add a dependency; document the native patterns instead.
  • Legacy Symfony surface audit. If any roadmap work touches a Symfony 2.x/3.x service, this bundle is a data point on how much of that codebase's "magic" comes from unmaintained third-party annotations — which converts directly into migration scope and risk on the modernization roadmap.
  • Internal tooling velocity vs. longevity trade-off. The bundle targets exactly the use case internal admin/CRUD tools have (fast, terse controllers). It supports a decision about whether short-lived internal tools may use convenience layers that long-lived customer-facing code may not.
  • Vendor-risk policy input. A concrete example for codifying an adoption rule: "no dependency whose last release predates our PHP version's EOL, and no dependency with zero downstream dependents."

When to Consider This Package

Consider it only when:

  • You are maintaining an existing Symfony 2.x application already using annotation-based controller conventions, and the alternative is a wider refactor.
  • The team is already fluent in the bundle's annotations and the code is not customer-facing or security-critical.
  • You need to understand or port the pattern — reading the source as a design reference for a small internal abstraction is a legitimate use.

Look elsewhere — by default — when:

  • Your stack is Laravel. There is no integration path. Use framework primitives; do not attempt to port the bundle wholesale.
  • You are on Symfony 4+. SensioFrameworkExtraBundle, ParamConverter, and Symfony Flex/Maker supersede this entirely and are maintained.
  • You need PHP 8 / modern Symfony support. Last release 2017-12-04; treat it as archived regardless of the MIT license.
  • You need ecosystem validation. 151 stars and 0 dependents means no downstream safety net: no one else will find the bugs before you do, and no one will fix them.
  • Your adoption bar includes security review or an upgrade path. An unmaintained bundle inside the request/response cycle is a standing liability.

Adoption gate to apply: is the convenience it removes worth owning the maintenance of an abandoned dependency? In nearly every case the answer is no — copy the idea, not the package.

How to Pitch It (Stakeholders)

For executives (30 seconds): We evaluated mmoreram/controller-extra-bundle, a Symfony2 convenience library that reduces repetitive controller code. It is technically sound in concept but effectively retired — last release in 2017, no downstream dependents, and written for a framework generation we no longer target. Recommendation: do not adopt as a dependency. It costs us nothing to skip, and taking it on would mean permanently owning code nobody maintains. The idea behind it is already built into Laravel and modern Symfony, so we lose no capability.

For engineering leads: Treat this as a pattern reference, not a vendor. Its value is the catalogue of controller concerns people historically wanted to automate — entity resolution, form binding, pagination, response negotiation, referer redirects. Map each to what we already have: route model binding, Form Requests, API Resources, paginate(), back(), and response macros. Where a gap genuinely exists, we build a small in-house helper we control — a few dozen lines, fully tested, no external lifecycle risk.

The numbers that decided it: 151 stars, 0 dependents, last release December 2017, MIT licensed. The license is not the problem; the maintenance horizon is. A dependency with no dependents has no community to absorb its bugs, and a 2017 release date means it predates every PHP runtime we plan to run. Low upside, permanent downside — we pass.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource