PHP library - Validators for standards from ISO, International Finance, Public Administrations, GS1, Manufacturing Industry, Phone numbers & Zipcodes for many c
PHP library - Validators for standards from ISO, International Finance, Public Administrations, GS1, Manufacturing Industry, Phone numbers & Zipcodes for many c
PHP library - Validators for standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries
…bcmath PHP extension)bcmath PHP extension)Each code has its own validator. Each validator is illustrated by a unit test case.
IsoCodes is compatible with all versions of PHP that are actively supported by the PHP project.
Continously inspecting results (phpdoc, phpmd, phpcc, etc.) available on Scrutinizer CI
For IBAN & BBAN ISO-codes, PHP is required to be compiled with "--enable-bcmath" for arbitrary precision mathematic checks.
Usually, you already have bcmath bundled in your PHP version, since many common PHP packages (php-cli, php-fpm, php5-cgi, libapache2-mod-php5, etc.) in stable GNU/Linux distribution releases (such as Debian) are listed as having bcmath built in to them, as an included module.
$ git clone [email protected]:ronanguilloux/IsoCodes.git
$ make # requires composerAutoloading is PSR-0 friendly.
Require the latest version of ronanguilloux/isocodes with Composer
$ composer require ronanguilloux/isocodesInstall Soullivaneuh/IsoCodesValidator to get IsoCodes working as Validator for Symfony and Silex.
Install gourmet/validation to get IsoCodes working with CakePHP 3 as a validator.
Install pixelpeter/laravel5-isocodes-validation to get IsoCodes working with Laravel 5 as a validator. Install pixelpeter/laravel-isocodes-validation to get IsoCodes working with Laravel 10+ as a validator.
$ make testsFor development & contribution purpose only, a Makefile provides various tools to check your code style, quality & test coverage:
Usual tasks:
To initialize vendors: make
To check code quality: make quality
To run tests suite: make tests
To fix code style: make cs-fix
Other specific tasks:
To evaluate code coverage: make codecoverage
To run a simple continuous tests server: make continuous
To dry-fix code style issues: make dry-fix
To evaluate code quality stats: make stats
To update vendors using Composer: make updateIsocodes quality plan is mainly based on phpunit: it runs 980+ unit tests, with separated valid & invalid entry sets. Test values are mainly real data or documented examples from standard documentation, and a few handmade values.
The composer.json already includes these Php Quality Assurance Toolchain libraries:
Just run:
$ make stats -iXML report outputs are then generated in a new ./build folder
Code covering report built using Coveralls.io. How-to generate such code coverage report using PHPUnit.
The issue queue can be found at: https://github.com/ronanguilloux/IsoCodes/issues. See CONTRIBUTING.md.
Contributors list: Many thanks to all!
Many thanks to JetBrains PhpStorm for having sponsored the IsoCode library development from the very beginning! Any contributor having an accepted PR may receive an Open Source License Key for PhpStorm IDE. Just ping Ronan via email to get one.
No open issues yet, or sync has not completed.