cpana / cnp
验证 CNP
1.0.0-beta
2021-01-20 19:56 UTC
Requires (Dev)
- phpunit/phpunit: ^7
This package is not auto-updated.
Last update: 2024-09-13 15:09:19 UTC
README
PHP 库,用于验证和提取 CNP 信息。
安装
使用 Composer
composer require cpana/cnp
使用
在 src/Examples 文件夹中找到一些使用示例。
在实例化 CodNumericPersonal 类时,将包含 CNP 字符串的字符串作为参数传递。
如果不是有效的 CNP,将抛出一个实现 CPANA\CNP\Exception\CNPExceptionInterface 接口的异常。
use CPANA\CNP\CodNumericPersonal; use CPANA\CNP\Exception\CNPExceptionInterface; ... try { $cnpObj = new CodNumericPersonal($inputString); } catch (CNPExceptionInterface $e) { // handle error }
如果需要更详细地处理不同的验证错误,请参考下面的示例
use CPANA\CNP\CodNumericPersonal; use CPANA\CNP\Exception\GenericInvalidCNPException; use CPANA\CNP\Exception\InvalidCNPLengthCNPException; use CPANA\CNP\Exception\NonNumericValueCNPException; use CPANA\CNP\Exception\CNPExceptionInterface; ... try { $cnpObj = new CodNumericPersonal($inputString); } catch (InvalidCNPLengthCNPException $e) { // Ex: Display message to user } catch (NonNumericValueCNPException $e) { // Ex: Display message to user } catch (GenericInvalidCNPException $e) { $code = $e->getCode(); // take decision based on error code switch ($code) { case GenericInvalidCNPException::EXCEPTION_COUNTY: // take some action like highlight wrong digits for county JJ echo 'Error code:'.$e->getCode().' '.$e->getMessage().PHP_EOL; break; case GenericInvalidCNPException::EXCEPTION_GENDER: // take some specific action .. break; case GenericInvalidCNPException::EXCEPTION_YEAR: // take some specific action .. break; case GenericInvalidCNPException::EXCEPTION_MONTH: // take some specific action .. case GenericInvalidCNPException::EXCEPTION_DAY: // take some specific action .. break; } } catch (CNPExceptionInterface $e) { // do something } catch (\Exception $e) { // do something }
自动化测试
运行自动化测试
./vendor/bin/phpunit tests
PHPUnit 7.5.20 by Sebastian Bergmann and contributors.
....... 7 / 7 (100%)
Time: 106 ms, Memory: 4.00 MB
OK (7 tests, 7 assertions)
代码质量
为了检查代码质量,可以使用以下命令
composer lint
详细使用的应用程序
- PHP CS Fixer - 检查编码标准的遵循情况(并自动修复偏差)
composer cs-fix composer cs-test - PHP CodeSniffer - 与 PHP CS Fixer 部分重复,其中包含一些有用的检查
composer phpcs - PHP Mess Detector - 分析代码质量,包括体积、质量等
composer phpmd - PHPStan - 静态分析,识别代码中的常见问题
composer phpstan - PHPUnit - 功能测试和单元测试
composer test
许可证
此软件包根据 MIT 许可证许可。