data-values / interfaces
Defines interfaces for ValueParsers, ValueFormatters and ValueValidators
Installs: 887 488
Dependents: 12
Suggesters: 0
Security: 0
Stars: 8
Watchers: 12
Forks: 6
Open Issues: 0
pkg:composer/data-values/interfaces
Requires
- php: >=7.4
Requires (Dev)
- mediawiki/mediawiki-codesniffer: ^45
- ockcyp/covers-validator: ~1.0
- phpmd/phpmd: ^2.9.1
- phpstan/phpstan: ^0.12.68
- phpunit/phpunit: ~8.5
README
The design of this library is poor and its reason for existing is questionable. Most of the time you are likely better served by creating dedicated interfaces within your project.
DataValues Interfaces is a small PHP library that defines a set of interfaces for parsers, formatters, and validators. It is part of the DataValues set of libraries.
On Packagist:
Installation
To use this library in your project, simply add a dependency on data-values/interfaces
to your project's composer.json file. Here is a minimal example of a composer.json
file that just defines a dependency on Interfaces 1.x:
{
"require": {
"data-values/interfaces": "^1.0"
}
}
Tests
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.
Release notes
1.2.0 (2024-12-10)
- Dropped support for PHP 7.2 and PHP 7.3
- Improved support for PHP 8.4 by explicitly declaring nullable types
- Upgraded codesniffer rules to current
mediawiki/mediawiki-codesnifferversion (45.0.0) - Added testing with PHP 8.1 up to 8.4
1.1.0 (dev)
- Introduced
ParserOptions::withDefaultOption()andFormatterOptions::withDefaultOption(), which return a copy of the options with the default applied; thedefaultOption()methods, which modify the options in place, are deprecated.
1.0.0 (2021-01-20)
- Updated minimum required PHP version from 5.5.9 to 7.2
- Removed
ValueFormatterBase - Removed
ValueFormatterTestBase - Removed
ValueValidator::setOptions - Removed
ValueValidatorObject - Removed
DATAVALUES_INTERFACES_VERSIONconstant ValueValidators\Resultis now final- The properties of
ValueValidators\Errorare now private instead of protected
0.2.5 (2017-08-09)
- Removed MediaWiki extension credits registration
0.2.4 (2017-08-02)
- Fixed
ValueFormatterTestBasenot being installable via Composer.
0.2.3 (2017-08-02)
- Updated minimal required PHP version from 5.3 to 5.5.9.
- Minor fixes to code documentation.
- Added PHPCS support.
0.2.2 (2016-07-15)
- Fixed
ValueFormatterTestBasenot doing strict string comparisons.
0.2.1 (2016-01-13)
- Fixed an issue when using this component with HHVM 1.11.0 (see #21).
0.2.0 (2015-08-11)
- Dropped deprecated
ErrorObject, useErrorinstead - Dropped deprecated
ResultObject, useResultinstead - Dropped deprecated constant
DataValuesInterfaces_VERSION, useDATAVALUES_INTERFACES_VERSIONinstead - Dropped
ValueFormatterTestBase::getFormatterClass - Made
ValueFormatterTestBase::getInstanceabstract - The options in
ValueFormatterTestBase::getInstanceare now optional
0.1.5 (2015-02-14)
- The options in the
ValueFormatterBaseconstructor are now optional - The MediaWiki extension registration now includes the license
0.1.4 (2014-04-14)
- Added rawValue and expectedFormat arguments to
ValueParsers\ParseException
0.1.3 (2014-03-31)
- Added
ValueFormatters\FormattingException
0.1.2 (2013-11-22)
- Improved autoloading code
- Fixed link in MediaWiki credits
- Renamed entry point from DataValuesInterfaces.php to Interfaces.php
0.1.0 (2013-11-16)
Initial release with these features:
ValueFormatters\ValueFormatterinterfaceValueParsers\ValueParserinterfaceValueValidators\ValueValidatorinterface