承接 npub/gos 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

npub/gos

Composer 安装命令:

composer require npub/gos

包简介

SNILS validation and formatting class for PHP.

README 文档

README

PHP Version Require Latest Stable Version PHP Composer Docs language License

Библиотека содержит класс Snils для хранения, проверки и форматирования СНИЛСа, а также Doctrine Type, Trait для использования в качестве свойств Entity и расширения Twig. Может использоваться как в составе Symfony проекта с Doctrine ORM, так и независимо.

Установка

composer require npub/gos

Подключение Doctrine типа к Symfony

# config/packages/doctrine.yaml

doctrine:
  dbal:
    types:
      snils: Npub\Gos\Doctrine\Type\SnilsType
      snils_canonical: Npub\Gos\Doctrine\Type\SnilsCanonicalType

Подключение Doctrine типа без Symfony

<?php

use Doctrine\DBAL\Types\Type;
use Npub\Gos\Doctrine\Type\SnilsCanonicalType;
use Npub\Gos\Doctrine\Type\SnilsType;

Type::addType('snils', SnilsType::class);
Type::addType('snils_canonical', SnilsCanonicalType::class);

Использование типа поля Snils в Entity

# Entity/Person.php
<?php

use Doctrine\ORM\Mapping as ORM;
use Npub\Gos\Doctrine\Trait\Snilsable;

/**
 * @ORM\Entity
 */
class Person
{
    use Snilsable;
    …
}

Использование объекта Snils

<?php

use Npub\Gos\Snils;

// Валидация строки СНИЛСв
echo Snils::validate('123-456-789 64');  // 123456789
echo Snils::validate(12345678964, Snils::FORMAT_CANONICAL);  // 123456789
var_dump(Snils::validate('123-456-789 11'));  // bool(false)

// Форматирование СНИЛСа из строки
echo Snils::stringFormat('12345678964');  // 123-456-789 64
echo Snils::stringFormat('123-456-789 64', Snils::FORMAT_CANONICAL);  // 12345678964

// Создание объекта сущности СНИЛСа из его ID (7–9 цифр)
$snils = new Snils(123456789);
var_dump($snils->isValid());  // bool(true)
echo $snils->getCanonical();  // 12345678964
echo $snils->getID();  // 123456789
echo $snils->getChecksum();  // 64
echo $snils->format(Snils::FORMAT_SPACE);  // 123-456-789 64
echo $snils->format(Snils::FORMAT_HYPHEN);  // 123-456-789-64
echo $snils;  // 123-456-789 64

// Создание объекта сущности СНИЛСа из строки
/** @var Snils|false $snils */
$snils = Snils::createFromFormat('123-456-789 64');
print_r($snils);
// Outputs additional info:
//
// Npub\Gos\Snils Object
// (
//     [_id] => 123456789
//     [_is_valid] => true
//     [_checksum] => 64
//     [_canonical] => 12345678964
//     [__toString] => 123-456-789 64
// )

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-10-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固