halloverden/symfony-request-entity-bundle
A Symfony bundle that maps incoming request data directly onto entity objects, simplifying form-free request handling and reducing boilerplate in controllers.
#[MapRequestPayload], #[MapQueryString], and entity resolvers shipped in 6.2/6.3) and in Laravel (FormRequest + route model binding + API Resources, or spatie/laravel-data for DTOs). The marginal value of a third-party bundle is near zero on current framework versions, so the decision defaults to "use core."$request->request->get() + manual validation. Worth quantifying: count endpoints with duplicated hydration/validation lines. If that number is small, the bundle doesn't earn its dependency.Adopt only if all of these hold:
Look elsewhere if:
spatie/laravel-data for rich DTOs. This is the answer for the vast majority of readers.#[MapRequestPayload] with the Validator component. Documented, supported, zero supply-chain cost.$guarded = [] in Laravel. Force a DTO boundary.For executives: This is a small open-source utility that automates converting HTTP request data into typed objects, reducing repetitive code in web controllers. Two findings shape the recommendation. First, it is Symfony-specific — it does not apply to our Laravel services, so the original request was based on a framework mismatch. Second, the capability it provides is now built into the frameworks we already run, while this package itself shows zero community adoption (0 stars, 0 dependents, single maintainer). Recommendation: do not adopt. The support and security burden of owning an orphaned dependency exceeds the boilerplate it removes. Action: none beyond closing the evaluation.
For engineering: Capture the pattern — thin controllers, explicit request-to-DTO mapping, validation at the boundary, uniform error responses — and standardize it using native tooling: #[MapRequestPayload] on Symfony 6.3+, FormRequest + spatie/laravel-data on Laravel. Treat entity-direct binding as an anti-pattern and say so in the ADR. If a legacy Symfony service genuinely needs this before an upgrade, fork the package into our own namespace, pin the version, and assign an owner — do not consume it as an upstream dependency.
How can I help you explore Laravel packages today?