Skip to content

Hydration populates complex data structures from user editable JSON or YAML sources. It can map user data into your application classes while validating and transforming the data.

License

abivia/hydration

Repository files navigation

Abivia\Hydration

coverage report pipeline status

Hydration is designed to make JSON and YAML configuration files more user intuitive while providing robust validation and smart creation of data structures via a fluent, easily configured interface.

Overview

Hydration:

  • Populates complex data structures from user editable JSON or YAML sources.
  • Allows your application to validate inputs, including ensuring that required properties are present.

Encoding (dehydration?) facilities can transform your application data structures into objects for encoding as JSON/YAML, automatically removing unwanted properties, rearranging properties into a user-friendly order, removing properties with default values and simplifying redundant constructs to improve usability.

If your application:

  • has configurations with several levels of nesting,
  • needs to validate user editable data in configuration files,
  • is spending a lot of effort converting the stdClass objects created by json_decode() or yaml_parse() to your application's class structures, or
  • is just using stdClass objects for configuration

then Hydration is here to help.

Installation

composer require abivia/hydration

Hydration uses the YAML Symphony parser and will suggest it at install.

Documentation

Documentation is available on the Hydration Site.

Contributing and Code of Conduct

Please see CONTRIBUTING.md.

About

Hydration populates complex data structures from user editable JSON or YAML sources. It can map user data into your application classes while validating and transforming the data.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages