- Is mops1k/request-object-resolver-bundle a Laravel package?
- No. It is a Symfony bundle that registers Symfony bundle bootstrapping and resolves typed request objects through Symfony's HttpKernel argument resolver. Laravel shares the symfony/http-foundation Request object, but it does not use Symfony's bundle bootstrapping, DI container, or argument-resolution hook. Treat it as a Symfony package, not a Laravel drop-in.
- Can I install it in a Laravel app with Composer?
- Composer may install the code, but Laravel package discovery will not register it because there is no Laravel ServiceProvider or discovery metadata. The bundle expects Symfony kernel wiring, so it will not automatically resolve controller arguments in Laravel. You would need to build an adapter or extract the resolver internals.
- How does request object resolution work in Symfony?
- The bundle integrates with Symfony's argument resolver system to map incoming HTTP request data into typed request object classes. Controllers receive those typed objects as arguments instead of raw request arrays. That moves parsing, mapping, and validation into dedicated request classes and keeps controllers cleaner and more testable.
- Which Laravel versions does this package support?
- It does not target Laravel, so there is no official Laravel version support matrix. Any Laravel use would depend on the PHP and Symfony component constraints of the package plus a custom integration layer you own. Check composer.json constraints before assuming compatibility with a specific Laravel release.
- How would I integrate this bundle with Laravel?
- The realistic path is to vendor or fork the resolver internals, confirm its dependency surface (likely symfony/serializer, property-access, and property-info, possibly validator), and expose it through a Laravel ServiceProvider. Then bind a request-scoped resolver or add a FormRequest::toDto() style method that maps validated input into your typed DTO. If the logic is entangled with Symfony RequestAttributes, ArgumentMetadata, or kernel subscribers, extraction cost rises materially.
- What changed in version 2.0.0?
- v2.0.0 adds a configurable resolver chain for custom resolvers and includes work around attribute handling. The pluggable chain is a genuine architectural improvement because it suggests resolution logic sits behind a contract rather than a hardcoded kernel-coupled resolver. The attribute change is ambiguous and should be verified in the diff, and the major version bump means the resolver API should be treated as unstable.
- Is this package actively maintained and production ready?
- The assessment flags it as retaining the profile of an unmaintained package, with no Laravel ServiceProvider and no package discovery metadata. A major version bump also signals API instability, so any fork baseline should be pinned to a specific v2.0.0 commit SHA rather than a branch. Do not assume production readiness without reviewing recent activity, tests, and dependency constraints.
- What are the best Laravel alternatives for typed request objects?
- spatie/laravel-data is the de facto community answer for typed DTOs and request payload mapping in Laravel. Laravel's native FormRequest gives you validation but returns a validated associative array, not a typed object. You can also write a small custom mapper or FormRequest::toDto() method without adopting a Symfony bundle.
- How should I test request object resolution?
- In Symfony, unit test the request object classes for mapping and validation, then add integration tests that assert controller arguments receive the expected typed object. In a Laravel adapter, test the resolver in isolation with the container binding and add HTTP feature tests for the endpoint. Avoid relying on kernel event subscribers or hidden attribute behavior in tests.
- What are the main technical risks of adopting this package?
- The main risks are Symfony coupling, missing Laravel ServiceProvider and package discovery, ambiguous attribute support, and an unstable resolver API after a major version bump. The package also appears unmaintained, which raises long-term support and security review concerns. Adoption in Laravel should be treated as an owned adapter or fork project, not a composer require plus package discovery.