Serializers and deserializers for DataValue implementations.
It is part of the DataValues set of libraries.
On Packagist:
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.x of this package:
{
"require": {
"data-values/serialization": "1.*"
}
}
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 Github Actions.
DataValues Serialization has been written by Jeroen De Dauw, as Wikimedia Germany employee for the Wikidata project.
- Added a message to a possible deserialization exception.
- Made component installable together with DataValues 3.x
- Raised required PHP version to 7.2
- Made component installable together with DataValues 2.x
- Made component installable together with Serialization 4.x
- Fixed
DataValueDeserializer
not always turning internalInvalidArgumentException
intoDeserializationException
, as documented. - Raised required PHP version from 5.3 to 5.5.9.
- Improved error reporting in the
DataValueDeserializer
constructor. - Added a basic PHPCS rule set, can be run with
composer phpcs
.
- Added support for builder functions to
DataValueDeserializer
- Removed duplicate catch clause
- Removed
composer update
from the PHPUnit bootstrap file
- Made component installable together with DataValues 1.x
- Handle IllegalValueException in DataValueDeserializer
- 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
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.