juststeveking/gtin-php
A PHP package for validating GTIN codes
A PHP Validator for the GTIN standard
A PHP package for validating GTIN codes for use in plain PHP and in Laravel.
Installation
You can install the package via composer:
composer require juststeveking/gtin-phpUsage PHP
If you are using a framework other than Laravel, or Laravel itself - you can use the Gtin class directly to validate aspects or the entire value passed in. You can check out the specifications for gtin and GS1 here.
Validating correct length
A GTIN is between 8 and 14 characters long.
use JustSteveKing\GtinPHP\Gtin;
$correct = 614141999996;$valid = Gtin::length($correct); // returns true
$incorrect = 123456;$failed = Gtin::length($incorrect); // returns falseValidating that it is an integer
A GTIN must be an integer value, in php you can easily use is_int() however I have provided a method here to also do the same thing:
use JustSteveKing\GtinPHP\Gtin;
$correct = 614141999996;$valid = Gtin::integer($correct); // returns true
$incorrect = '614141999996';$failed = Gtin::integer($incorrect); // returns falseInspecting the gtin and validating the check digit
The GTIN is formatted in a very specific way, this is documented fully in the specificas document
use JustSteveKing\GtinPHP\Gtin;
$correct = 614141999996;$valid = Gtin::inspect($correct); // returns true
$incorrect = 123456789;$failed = Gtin::inspect($incorrect); // returns falseValidating all aspects in one go
use JustSteveKing\GtinPHP\Gtin;
$correct = 614141999996;$valid = Gtin::validate($correct); // returns true
$incorrect = 123456789;$failed = Gtin::validate($incorrect); // returns falseValidating in Laravel
There is a Laravel Rule as well as a validation macro that gets registered with this package, please use in one of the following ways:
// using the class directlypublic function rules(){ return [ 'gtin' => [ 'required', new JustSteveKing\GtinPHP\Rules\Gtin, ] ];}// using the registered macropublic function rules(){ return [ 'gtin' => [ 'required', Rule::gtin(), ] ];}Feel free to use the Gtin class directly if that is more convinient.
Testing
composer testContributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.