Contains common implementations of the interfaces defined by DataValuesInterfaces

Installs: 116 292

Dependents: 10

Watchers: 10

Open Issues: 4

Language: PHP

0.3.1 2015-08-14 10:15 UTC


DataValues Common is a small library build on top of DataValues that provides common implementations of the DataValues, ValueParsers, ValueFormatters and ValueValidators interfaces.

It is part of the DataValues set of libraries.

Build Status Code Coverage Scrutinizer Quality Score

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/common to your project's composer.json file. Here is a minimal example of a composer.json file that just defines a dependency on version 0.3 of this package:

    "require": {
        "data-values/common": "0.3.*"


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 Common has been written by the Wikidata team, as Wikimedia Germany employees for the Wikidata project.

Release notes

0.3.1 (2015-08-14)

  • The component can now be installed together with DataValues Interfaces 0.1.5

0.3.0 (2015-08-11)

  • Added DispatchingValueParser
  • Added StringNormalizer interface
  • Added NullStringNormalizer
  • Added StringParser
  • Dropped deprecated constant DataValuesCommon_VERSION, use DATAVALUES_COMMON_VERSION instead
  • Dropped ValueParserTestBase::getParserClass
  • Dropped ValueParserTestBase::newParserOptions
  • Made ValueParserTestBase::getInstance abstract
  • Made ValueParserTestBase::invalidInputProvider abstract
  • Lowered visibility of all class fields to private

0.2.3 (2014-10-09)

  • Introduced FORMAT_NAME class constants on ValueParsers in order to use them as expectedFormat
  • Changed ValueParsers to pass rawValue and expectedFormat arguments when constructing a ParseException
  • Installation together with DataValues 1.x is now supported

0.2.2 (2014-04-11)

  • Introduced DataValueMismatchException

0.2.1 (2014-03-12)

  • Minor code cleanup
  • Improved PHPUnit bootstrap

0.2.0 (2013-12-16)

  • Added FloatParser (moved from data-values/number)
  • Added IntParser (moved from data-values/number)

0.1.1 (2013-11-22)

  • Fixed link in the MediaWiki credits

0.1.0 (2013-11-17)

Initial release with these features:

  • Several DataValue implementations
    • MonolingualTextValue
    • MultilingualTextValue
  • Several ValueFormatter implementations
    • StringFormatter
  • Several ValueParser implementations
    • BoolParser
    • DecimalParser
    • NullParser