unitedprint / serializer
Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.
Requires
- php: >=7.2
- doctrine/annotations: ^1.0
- doctrine/instantiator: ^1.0.3
- hoa/compiler: ^3.17.08.08
- jms/metadata: ^2.0
Requires (Dev)
- ext-pdo_sqlite: *
- doctrine/coding-standard: ^5.0
- doctrine/orm: ~2.1
- doctrine/phpcr-odm: ^1.3|^2.0
- jackalope/jackalope-doctrine-dbal: ^1.1.5
- phpunit/phpunit: ^7.1
- psr/container: ^1.0
- symfony/dependency-injection: ^3.0|^4.0
- symfony/expression-language: ^3.0|^4.0
- symfony/filesystem: ^3.0|^4.0
- symfony/form: ^3.0|^4.0
- symfony/translation: ^3.0|^4.0
- symfony/validator: ^3.1.9|^4.0
- symfony/yaml: ^3.3|^4.0
- twig/twig: ^1.12|^2.0
Suggests
- doctrine/cache: Required if you like to use cache functionality.
- doctrine/collections: Required if you like to use doctrine collection types as ArrayCollection.
- symfony/yaml: Required if you'd like to use the YAML metadata format.
Conflicts
- hoa/consistency: <1.17.05.02
- hoa/core: *
- hoa/iterator: <2.16.03.15
This package is not auto-updated.
Last update: 2024-11-23 02:27:03 UTC
README
Introduction
This library allows you to (de-)serialize data of any complexity. Currently, it supports XML and JSON.
It also provides you with a rich tool-set to adapt the output to your specific needs.
Built-in features include:
- (De-)serialize data of any complexity; circular references and complex exclusion strategies are handled gracefully.
- Supports many built-in PHP types (such as dates, intervals)
- Integrates with Doctrine ORM, et. al.
- Supports versioning, e.g. for APIs
- Configurable via XML, YAML, or Annotations
Documentation
Learn more about the serializer in its documentation.
Notes
You are browsing the code for the 2.x version, if you are interested in the 1.x version, check the 1.x branch.
Differences between the 1.x and 2.x can be found in the CHANGELOG.
Upgrading from 1.x to 2.x should be almost transparent for most of the userland code, in the
case you have heavily used internal-api or you are relaying on some of the removed features,
the UPGRADING document is a short guide on how to upgrade.
Pull requests for new features are accepted only on the master branch. Bug fixes are accepted for both master and 1.x branches. Bug fixes sent on the 1.x branch, will be ported to the master branch when possible.