codingculture/request-resolver-bundle
ResolvableRequest objects, which can be leveraged in Laravel’s Form Requests or API Resource validation layers.OptionsResolver) is framework-agnostic and can be adapted via Laravel’s Laravel Collections, Validator, or Form Request classes. The ResolvableRequestInterface pattern mirrors Laravel’s DTO (Data Transfer Object) or Request Validation paradigms.Illuminate\Validation\Validator and Illuminate\Http\Request for basic validation. This bundle adds value for custom resolution logic (e.g., transforming/normalizing data before validation).OptionsResolver is its primary integration hurdle. Laravel lacks a direct equivalent, but:
symfony/options-resolver + symfony/dependency-injection).OptionsResolver logic using Laravel’s Illuminate\Support\Arr or Illuminate\Validation\Rule.ContainerInterface with Laravel’s Illuminate\Container\Container.ResolvableRequestInterface to integrate with Laravel’s Illuminate\Foundation\Http\FormRequest.OptionsResolver, ContainerInterface) breaking Laravel’s ecosystem. Mitigation: Abstract dependencies behind interfaces or use adapter patterns.Validator).symfony/options-resolver (v5.4+) and symfony/dependency-injection (v5.4+). Install via Composer:
composer require symfony/options-resolver symfony/dependency-injection
OptionsResolver with:
Validator for basic rules.Illuminate\Support\Arr or Illuminate\Validation\Rule.RequestResolverBundle service provider. In Laravel, this can be:
config/app.php under providers.RequestResolver::resolve()).App\Http\Controllers\Controller or FormRequest classes.Illuminate\Console\Command.Illuminate\Foundation\Http\FormRequest.FormRequest classes, manual Validator usage).ResolvableRequest class (e.g., CreateUserRequest).OptionsResolver logic.ValidateRequests).TestCase to Laravel’s PHPUnit or Pest for unit tests.ResolvableRequestInterface for a pilot use case.Validator for hybrid validation/resolution.RequestResolver vs. FormRequest").symfony/options-resolver may require bundle updates. Pin versions in composer.json to avoid surprises.OptionsResolver patterns. Provide training or examples.OptionsResolver.RequestResolver vs. FormRequest.Illuminate\Support\Facades\Cache).OptionsResolver rejects input, ensure graceful degradation (e.g., return 422 Unprocessable Entity for APIs).Validator for simple cases.assertNotNull()).ResolvableRequest patternsHow can I help you explore Laravel packages today?