data-values / data-values
Defines the DataValue interface and some trivial implementations
Fund package maintenance!
JeroenDeDauw
Installs: 847 073
Dependents: 26
Suggesters: 0
Security: 0
Stars: 17
Watchers: 14
Forks: 9
Open Issues: 0
Requires
- php: >=7.2.0
Requires (Dev)
Replaces
- mediawiki/data-values: *
README
Small PHP library that provides interfaces for Value Objects. Several libraries build on top of this foundation.
On Packagist:
Installation
To add this package as a local, per-project dependency to your project, simply add a
dependency on data-values/data-values
to your project's composer.json
file.
Here is a minimal example of a composer.json
file that just defines a dependency on
DataValues 3.x:
{ "require": { "data-values/data-values": "^3.1.0" } }
Running the tests
For tests only
composer test
For style checks only
composer cs
For a full CI run
composer ci
Authors
DataValues has been written primarily by Jeroen De Dauw, in part for the Wikidata project and Wikimedia Germany.
Contributions where also made by several other awesome people.
Release notes
3.1.0 (2022-10-21)
- Improved compatibility with PHP 8.1;
in particular, the new
__serialize
/__unserialize
methods are implemented now (in addition to the still supportedSerializable
interface). Care has been taken to keep the output ofgetHash()
stable; if other classes include the PHP serialization of data values in their own hashes, they should instead use the newgetSerializationForHash()
method where it exists.
3.0.0 (2021-01-19)
- Removed
getCopy
from theDataValue
interface and all implementations - Removed
getSortKey
from theDataValue
interface and all implementations - Removed the
Comparable
,Hashable
andImmutable
interfaces - Removed
DATAVALUES_VERSION
constant - Removed
DataValueTest
(create a copy if you need it, though better refactor away the bad design) - Raised minimum PHP version from 5.5.9 to 7.2
2.3.0 (2019-09-16)
composer.json
andphpunit.xml.dist
are now included in releases
2.2.1 (2019-09-05)
- Fixed
DataValueTest
not being part of the release
2.2.0 (2019-09-05)
- Deprecated
DATAVALUES_VERSION
constant
2.1.1 (2017-09-28)
- Fixed
DataValueTest
not being installable via Composer
2.1.0 (2017-08-09)
- Removed MediaWiki integration
2.0.0 (2017-08-02)
- Dropped
Copyable
interface - Dropped deprecated constant
DataValues_VERSION
, useDATAVALUES_VERSION
instead - Deprecated
newFromArray
in allDataValue
implementations. - Updated minimal required PHP version from 5.3 to 5.5.9
- Updated documentation throughout the code
1.1.1 (2017-11-02)
- Add .gitattributes file
1.1.0 (2017-08-09)
- Remove MediaWiki integration
1.0.0 (2014-09-26)
- The CI now ensures compatibility with PHP 5.6 and HHVM
- A lot of type hints where improved
- Protected methods and fields where changed to private
- The test bootstrap no longer executes
composer update
- The test bootstrap now sets PHP strict mode
- The contract of the
Hashable::getHash
method was updated - The MediaWiki internationalization support has been migrated to the JSON based version
0.1.1 (2013-11-22)
- Removed support for running the tests via the MediaWiki test runner.
- The test bootstrapping file now automatically does a composer install.
- Removed custom autoloader in favour of defining autoloading in composer.json.
0.1.0 (2013-11-16)
Initial release with these features:
- DataValue interface
- BooleanValue implementation
- NumberValue implementation
- StringValue implementation
- UnDeserializableValue implementation
- UnknownValue implementation
- Common interface definitions: Comparable, Copyable, Hashable, Immutable