avto-dev/identity-laravel

IDEntity for Laravel

v5.9.0 2024-08-22 07:22 UTC

README

IDEntity

IDEntity

Version PHP Version Build Status Coverage Downloads count License

IDEntity(身份实体)是实现了验证、归一化和可选自动类型确定的对象。

安装

使用以下命令通过composer安装此包

$ composer require avto-dev/identity-laravel "^5.0"

需要安装 composer。要安装composer,请点击此处

请注意,您需要修复包的 主版本

之后您可以使用以下命令“发布”配置文件(./config/identity.php

$ ./artisan vendor:publish --provider="AvtoDev\IDEntity\ServiceProvider"

用法

下面您可以找到一些使用示例。

类型检测

use AvtoDev\IDEntity\IDEntity;

IDEntity::is('JF1SJ5LC5DG048667', IDEntity::ID_TYPE_VIN); // true
IDEntity::is('A123AA177', IDEntity::ID_TYPE_VIN); // false

IDEntity::is('JF1SJ5LC5DG048667', IDEntity::ID_TYPE_GRZ); // false
IDEntity::is('A123AA177', IDEntity::ID_TYPE_GRZ); // true

IDEntity::is('14:36:102034:2256', IDEntity::ID_TYPE_CADASTRAL_NUMBER); // true
IDEntity::is('JF1SJ5LC5DG048667', IDEntity::ID_TYPE_CADASTRAL_NUMBER); // false

$valid_vin = IDEntity::make('JF1SJ5LC5DG048667', IDEntity::ID_TYPE_VIN);
$valid_vin->isValid(); // true

$invalid_vin = IDEntity::make('SOME INVALID', IDEntity::ID_TYPE_VIN);
$invalid_vin->isValid(); // false

实体创建

use AvtoDev\IDEntity\IDEntity;
use AvtoDev\IDEntity\Types\IDEntityCadastralNumber;

$vin = IDEntity::make('JF1SJ5LC5DG048667');
$vin->getType();  // 'VIN'
$vin->getValue(); // 'JF1SJ5LC5DG048667'
$vin->isValid();  // true
\get_class($vin); // 'AvtoDev\IDEntity\Types\IDEntityVin'

$cadastral_number = new IDEntityCadastralNumber('10:01:0030104:691');
$cadastral_number->getType(); // 'CADNUM'
$cadastral_number->isValid(); // true

一些类型化的实体类包含许多用于处理传递值的附加方法。

值归一化

use AvtoDev\IDEntity\IDEntity;
use AvtoDev\IDEntity\Types\IDEntityVin;

$vin = new IDEntityVin(' jf1SJ5LC5DG048 667');
$vin->getValue(); // 'JF1SJ5LC5DG048667'

IDEntity::make('  a123аY777', IDEntity::ID_TYPE_GRZ)->getValue(); // 'А123АУ777'

值掩码

<?php

use AvtoDev\IDEntity\Types\IDEntityVin;

$vin = IDEntityVin::make('JF1SJ5LC5DG048667');
$vin->getMaskedValue(2, 4);      // JF***********8667
$vin->getMaskedValue(4, 2, '_'); // JF1S___________67

测试

对于包测试,我们使用phpunit框架和docker-ce + docker-compose作为开发环境。因此,在克隆仓库后,只需在终端中写入以下内容即可

$ make build
$ make latest # or 'make lowest'
$ make test

更改日志

Release date Commits since latest release

更改日志可以在这里找到

支持

Issues Issues

如果您在此包中找到任何错误,请在此存储库中创建一个问题

许可证

这是一个开源软件,根据MIT许可证授权。