npub/gos
Composer 安装命令:
composer require npub/gos
包简介
SNILS validation and formatting class for PHP.
关键字:
README 文档
README
Библиотека содержит класс 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
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-10-13