sunchaser/doctrine-pgsql-ip

Doctrine的PostgreSQL inet和cidr类型处理器

3.0.0 2024-04-30 06:57 UTC

This package is auto-updated.

Last update: 2024-08-30 07:36:57 UTC


README

此库通过使用rlanvin/php-ip库,为Doctrine添加了对PostgreSQL的cidrinet类型的支持。

安装

composer require sunchaser/doctrine-pgsql-ip

用法

  1. 在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);
  2. 为模式操作添加类型处理

    <?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