jungi/framework-extra-bundle
A Symfony bundle that adds extra annotations and conveniences beyond SensioFrameworkExtraBundle, helping streamline controller configuration and common framework tasks with less boilerplate.
jungi/framework-extra-bundle). If the product is built on Laravel, the decision is a near-automatic "no" — record it as a rejected candidate and move on. Its functional analogues in Laravel are Form Requests, API Resources, and middleware-driven Accept handling.#[MapRequestPayload], #[MapQueryString], #[Route], #[IsGranted]), or use FOSRestBundle for negotiation, or build a thin internal attribute layer.SensioFrameworkExtraBundle annotations to attributes — a concrete diff of what attribute-based controllers look like, without committing to the dependency.SensioFrameworkExtraBundle annotations and want a reference implementation to copy patterns from — read, don't require.Look elsewhere when:
To executives: This is a small, MIT-licensed, archived open-source Symfony bundle — not a Laravel package. It costs nothing but carries no support. We are not adopting it as a dependency; we are using it as a design reference for how to cleanly express request/response behavior and content negotiation in controller code. The business outcome is lower per-endpoint boilerplate and a faster path off legacy annotation-based controllers, achieved using Symfony's own supported attributes instead of unmaintained code. Net: no license cost, no new vendor risk, modest engineering-velocity gain.
To engineering: Treat jungi/framework-extra-bundle as documentation, not a dependency. Last release was December 2022 and the repo is archived — no CVE response, no PHP version guarantees, and effectively zero downstream users to shake out bugs. Implement the equivalent using native Symfony attributes (MapRequestPayload, MapQueryString, Route, IsGranted) plus FOSRestBundle or a small internal negotiator if we need richer media-type handling. If we must consume the package, isolate it behind our own attribute or interface layer so removal is a one-file change.
How can I help you explore Laravel packages today?