ray/input-query
Structured input objects from HTTP
1.1.0
135K downloads/mo
#4326 most downloaded on Packagist
ray-di/Ray.InputQuery
What this package is like to depend on
Last release 3 months ago
02 May 2026
Release timing varies
gaps range from 9 days to 10 months
Nearly every release is documented
notes for 5 of 5 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
5 releases · first in 2025
1 release in the last 12 months
see the full history below
Release timeline
5 releases · Jul 2025 to May 2026Releases
latest 5-
1.1.002 May 2026Release notes
Open source →Added
- Native validation for
#[Input] arrayand#[Input] array|nullparameters before invoking constructors or methods. Ray\InputQuery\Exception\InvalidInputTypeExceptionwith structured context for input parameter type errors.
Fixed
#[Input(item: ...)] arraynow rejects scalar containers and invalid items instead of silently normalizing them or leakingTypeError.
Compatibility
- Existing public method signatures are unchanged.
- Invalid scalar values for native array input are now reported with
InvalidInputTypeException.
Release notes
Open source →Added
- Native array validation for
#[Input] arrayand#[Input] array|nullparameters before invoking constructors or methods InvalidInputTypeExceptionwith structured context for input parameter type errors
Fixed
#[Input(item: ...)] arraynow rejects scalar containers and invalid items instead of silently normalizing them or leakingTypeError
- Native validation for
-
v1.0.016 Jul 2025Release notes
Open source →Added
- Support direct nested array input for object parameters, such as
author => ['name' => 'John'].
Compatibility
- First stable release of Ray.InputQuery.
Release notes
Open source →Added
- Support direct nested array input for object parameters, such as
author => ['name' => 'John']
- Support direct nested array input for object parameters, such as
-
v0.3.016 Jul 2025Release notes
Open source →Improved
- Enhanced nested query handling for bracketed object creation
This release improves the handling of nested query parameters when creating objects with bracketed notation, providing better support for complex nested data structures.
Full Changelog: 0.2.0...0.3.0
-
v0.2.007 Jul 2025Release notes
Open source →Added
ToArrayInterfaceandToArrayimplementation for flattening objects to flat associative arrays
Features
- Convert nested Input objects to flat arrays for SQL parameter binding
- Preserve arrays for SQL IN clauses (Aura.Sql compatible)
- Recursive flattening with property conflict resolution
- Test coverage: 104 tests, 340 assertions
- PHP 8.1+ compatibility
🤖 Generated with Claude Code
Release notes
Open source →Added
ToArrayInterfaceandToArrayimplementation for flattening objects to flat associative arrays
-
0.1.007 Jul 2025Release notes
Open source →Ray.InputQuery 0.1.0
Initial release of Ray.InputQuery - Structured input objects from HTTP with 100% test coverage.
Features
- Declarative Input Handling: Use
#[Input]attributes to define input structure - Automatic Type Conversion: Converts string inputs to appropriate PHP types
- Nested Object Support: Automatically creates nested objects from flat data (e.g.,
assigneeId,assigneeName→UserInputobject) - DI Integration: Seamlessly integrates with dependency injection containers
- File Upload Support: Optional integration with koriym/file-upload package
- Framework Agnostic: Works with any PHP framework or standalone
Installation
composer require ray/input-query
For file upload support:
composer require koriym/file-upload
Documentation
Requirements
- PHP 8.1 or higher
- ray/di ^2.18
- symfony/polyfill-php83 ^1.28
- koriym/file-upload ^0.2.0 (optional)
See CHANGELOG.md for detailed changes.
Release notes
Open source →Added
- Initial release of Ray.InputQuery
- Core
InputQueryclass for transforming flat HTTP data into structured PHP objects #[Input]attribute for marking query-sourced parameters#[InputFile]attribute for file upload handling- Automatic prefix-based nesting (e.g.,
assigneeId,assigneeName→UserInputobject) - Type-safe scalar conversion leveraging PHP's type system
- Full dependency injection integration with Ray.Di
- Support for arrays and ArrayObject collections
- Optional file upload functionality with
FileUploadFactory NullUploadFactoryfor projects without file upload requirements- Comprehensive documentation and examples
- 100% test coverage
- Framework integration guide for Laravel, Symfony, CakePHP, Yii, BEAR.Sunday, and Slim
- Demo applications including CSV processing and file upload examples
Features
- Declarative Input Handling: Use attributes to define input structure
- Automatic Type Conversion: Converts string inputs to appropriate PHP types
- Nested Object Support: Automatically creates nested objects from flat data
- DI Integration: Seamlessly integrates with dependency injection containers
- File Upload Support: Optional integration with koriym/file-upload package
- Framework Agnostic: Works with any PHP framework or standalone
Requirements
- PHP 8.1 or higher
- ray/di ^2.18
- symfony/polyfill-php83 ^1.28
- koriym/file-upload ^0.2.0 (optional, for file upload support)
- Declarative Input Handling: Use