sunchaser / doctrine-pgsql-ip
Doctrine的PostgreSQL inet和cidr类型处理器
3.0.0
2024-04-30 06:57 UTC
Requires
- php: ^8.1
- doctrine/dbal: ^4.0
- rlanvin/php-ip: ^3.0
README
此库通过使用rlanvin/php-ip库,为Doctrine添加了对PostgreSQL的cidr
和inet
类型的支持。
安装
composer require sunchaser/doctrine-pgsql-ip
用法
-
在Doctrine中注册类型
<?php use Doctrine\DBAL\Types\Type; use SunChaser\Doctrine\PgSql\InetType; use SunChaser\Doctrine\PgSql\CidrType; Type::addType(InetType::NAME, InetType::class); Type::addType(CidrType::NAME, CidrType::class);
-
为模式操作添加类型处理
<?php use Doctrine\DBAL\Connection; use SunChaser\Doctrine\PgSql\InetType; use SunChaser\Doctrine\PgSql\CidrType; /** @var Connection $conn */ $conn->getDatabasePlatform()->registerDoctrineTypeMapping(InetType::PG_TYPE, InetType::NAME); $conn->getDatabasePlatform()->registerDoctrineTypeMapping(CidrType::PG_TYPE, CidrType::NAME);
inet
接受并检索单个地址的\PhpIP\IP
和网络掩码的\PhpIP\IPBlock
。请检索数据时检查类型。
cidr
仅接受并检索\PhpIP\IPBlock
。
升级
3.0版本中的变更
- 要求提升到PHP 8.1和Doctrine DBAL 4.0
2.0版本中的变更
leth/ip-address
已被替换为rlanvin/php-ip
- 要求提升到PHP 8.0和Doctrine DBAL 3.0