cpana/cnp
Composer 安装命令:
composer require cpana/cnp
包简介
Validare CNP
README 文档
README
Librarie PHP care permite validarea si extragerea de informatii din CNP.
Instalare
Folosind Composer:
composer require cpana/cnp
Utilizare
In folderul src/Examples gasiti cateva exemple de utilizare.
La instantierea clasei CodNumericPersonal se trimite ca parametru sirul de caractere continand CNP-ul ce trebuie validad.
Daca nu este un CNP valid o exceptie care implementeaza interfata CPANA\CNP\Exception\CNPExceptionInterface va fi aruncata.
use CPANA\CNP\CodNumericPersonal; use CPANA\CNP\Exception\CNPExceptionInterface; ... try { $cnpObj = new CodNumericPersonal($inputString); } catch (CNPExceptionInterface $e) { // handle error }
Daca se doreste tratarea mai in detaliu a diferitelor erori de validare urmati exemplul de mai jos:
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 }
Testare automata
Rulare teste automate:
./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)
Calitatea codului
Pentru a verifica calitatea codului poate fi folosita comanda:
composer lint
Aplicatiile folosite in detaliu:
- PHP CS Fixer - verifica aderarea la coding stand (si repara automat abaterile)
composer cs-fix composer cs-test - PHP CodeSniffer - partial redundant cu PHP CS Fixer, incare niste verificari care ne sunt utile.
composer phpcs - PHP Mess Detector - pentru analiza calitatii codului din punct de vedere al volumului, calitatii, etc.
composer phpmd - PHPStan - analiza statica, identificarea problemelor generale din cod
composer phpstan - PHPUnit - testare functinala si unitara
composer test
Licenta
Acest pachet este licențiat în conformitate cu licenta MIT.
cpana/cnp 适用场景与选型建议
cpana/cnp 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 2, 最近一次更新时间为 2021 年 01 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 cpana/cnp 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 cpana/cnp 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 12
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-01-20