cpana/cnp 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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:

  1. PHP CS Fixer - verifica aderarea la coding stand (si repara automat abaterile)
    composer cs-fix
    composer cs-test
    
  2. PHP CodeSniffer - partial redundant cu PHP CS Fixer, incare niste verificari care ne sunt utile.
    composer phpcs
    
  3. PHP Mess Detector - pentru analiza calitatii codului din punct de vedere al volumului, calitatii, etc.
    composer phpmd
    
  4. PHPStan - analiza statica, identificarea problemelor generale din cod
    composer phpstan
    
  5. 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 我们能提供哪些服务?
定制开发 / 二次开发

基于 cpana/cnp 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 12
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-01-20