PackageTrack
Sign in Get early access

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 2026
2026
Release Pre-release

Releases

latest 5
  1. 1.1.0 02 May 2026
    Release notes

    Added

    • Native validation for #[Input] array and #[Input] array|null parameters before invoking constructors or methods.
    • Ray\InputQuery\Exception\InvalidInputTypeException with structured context for input parameter type errors.

    Fixed

    • #[Input(item: ...)] array now rejects scalar containers and invalid items instead of silently normalizing them or leaking TypeError.

    Compatibility

    • Existing public method signatures are unchanged.
    • Invalid scalar values for native array input are now reported with InvalidInputTypeException.
    Open source →
    Release notes

    Added

    • Native array validation for #[Input] array and #[Input] array|null parameters before invoking constructors or methods
    • InvalidInputTypeException with structured context for input parameter type errors

    Fixed

    • #[Input(item: ...)] array now rejects scalar containers and invalid items instead of silently normalizing them or leaking TypeError
    Open source →
  2. v1.0.0 16 Jul 2025
    Release notes

    Added

    • Support direct nested array input for object parameters, such as author => ['name' => 'John'].

    Compatibility

    • First stable release of Ray.InputQuery.
    Open source →
    Release notes

    Added

    • Support direct nested array input for object parameters, such as author => ['name' => 'John']
    Open source →
  3. v0.3.0 16 Jul 2025
    Release notes

    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

    Open source →
    Release notes

    Improved

    • Enhanced nested query handling for bracketed object creation
    Open source →
  4. v0.2.0 07 Jul 2025
    Release notes

    Added

    • ToArrayInterface and ToArray implementation 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

    Open source →
    Release notes

    Added

    • ToArrayInterface and ToArray implementation for flattening objects to flat associative arrays
    Open source →
  5. 0.1.0 07 Jul 2025
    Release notes

    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, assigneeNameUserInput object)
    • 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.

    Open source →
    Release notes

    Added

    • Initial release of Ray.InputQuery
    • Core InputQuery class 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, assigneeNameUserInput object)
    • 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
    • NullUploadFactory for 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)
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive