An open API service indexing awesome lists of open source software.

https://github.com/sunchaserinfo/doctrine-pgsql-ip

Doctrine type handlers for PostgreSQL's inet and cidr
https://github.com/sunchaserinfo/doctrine-pgsql-ip

cidr doctrine inet ip-address postgresql

Last synced: 5 months ago
JSON representation

Doctrine type handlers for PostgreSQL's inet and cidr

Awesome Lists containing this project

README

          

# IP Address types for Doctrine

This library adds support for `cidr` and `inet` types of PostgreSQL in Doctrine using the [rlanvin/php-ip] library.

[rlanvin/php-ip]: https://github.com/rlanvin/php-ip

## Installation

composer require sunchaser/doctrine-pgsql-ip

## Usage

1. Register types in Doctrine

```php
getDatabasePlatform()->registerDoctrineTypeMapping(InetType::PG_TYPE, InetType::NAME);
$conn->getDatabasePlatform()->registerDoctrineTypeMapping(CidrType::PG_TYPE, CidrType::NAME);
```

`inet` accepts and retrieves both `\PhpIP\IP` for individual addresses
and `\PhpIP\IPBlock` for network masks.
Please check the type when retrieving the data.

`cidr` accepts and retrieves only `\PhpIP\IPBlock`.

## Upgrade

Changes in 3.0:

* Requirements were bumped to PHP 8.1 and Doctrine DBAL 4.0

Changes in 2.0:

* `leth/ip-address` was replaced with `rlanvin/php-ip`
* Requirements were bumped to PHP 8.0 and Doctrine DBAL 3.0