avto-dev / identity-laravel
IDEntity for Laravel
v5.9.0
2024-08-22 07:22 UTC
Requires
- php: ^8.1
- ext-json: *
- ext-mbstring: *
- avto-dev/extended-laravel-validator: ^4.0
- avto-dev/static-references-laravel: ^4.5
- danielstjules/stringy: ~3.1.0
- illuminate/config: ~10.0 || ~11.0
- illuminate/container: ~10.0 || ~11.0
- illuminate/contracts: ~10.0 || ~11.0
- illuminate/support: ~10.0 || ~11.0
Requires (Dev)
- laravel/laravel: ~10.0 || ~11.0
- phpstan/phpstan: ^1.10.66
- phpunit/phpunit: ^10.5
Suggests
- avto-dev/faker-identifiers-providers: Identifiers providers for fzaninotto/Faker package
This package is auto-updated.
Last update: 2024-09-22 07:38:02 UTC
README
IDEntity
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
更改日志
更改日志可以在这里找到。
支持
如果您在此包中找到任何错误,请在此存储库中创建一个问题。
许可证
这是一个开源软件,根据MIT许可证授权。