Serializers and deserializers for DataValue implementations

1.0.3 2015-08-05 09:15 UTC


Serializers and deserializers for DataValue implementations.

It is part of the DataValues set of libraries.

Build Status Code Coverage Scrutinizer Quality Score Dependency Status

On Packagist: Latest Stable Version Download count


The recommended way to use this library is via Composer.


To add this package as a local, per-project dependency to your project, simply add a dependency on data-values/serialization to your project's composer.json file. Here is a minimal example of a composer.json file that just defines a dependency on version 1.0 of this package:

    "require": {
        "data-values/serialization": "1.0.*"


Get the code of this package, either via git, or some other means. Also get all dependencies. You can find a list of the dependencies in the "require" section of the composer.json file. Then take care of autoloading the classes defined in the src directory.


This library comes with a set up PHPUnit tests that cover all non-trivial code. You can run these tests using the PHPUnit configuration file found in the root directory. The tests can also be run via TravisCI, as a TravisCI configuration file is also provided in the root directory.


DataValues Serialization has been written by Jeroen De Dauw, as Wikimedia Germany employee for the Wikidata project.

Release notes

1.0.3 (2015-08-05)

  • Removed duplicate catch clause
  • Removed composer update from the PHPUnit bootstrap file

1.0.2 (2014-10-10)

  • Made component installable together with DataValues 1.x

1.0.1 (2014-09-09)

  • Handle IllegalValueException in DataValueDeserializer

1.0 (2014-03-05)

  • Switched usage of the Serialization component from version ~2.1 to version ~3.0.
  • Switched from PSR-0 based autoloading to PSR-4 based autoloading
  • Made PHPUnit bootstrap file compatible with Windows

0.1 (2013-12-05)

Initial release with these features:

  • DataValues\Serializers\DataValueSerializer - Adapter that fits the toArray method of DataValue objects to the Serializer interface. This allows users to move to using the Serializer interface and remove their exposure to how serialization of DataValues is implemented.
  • DataValues\Deserializers\DataValueDeserializer - Adapter that fits the newFromArray method of DataValues objects to the Deserializer interface. This allows users to remove the knowledge they have of how deserialization is implemented and break their dependency on DataValueFactory.