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.
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.Consider it only when:
Look elsewhere — by default — when:
SensioFrameworkExtraBundle, ParamConverter, and Symfony Flex/Maker supersede this entirely and are maintained.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.
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.
How can I help you explore Laravel packages today?