IP addresses model

3.2.0 2023-09-16 16:24 UTC

This package is auto-updated.

Last update: 2024-12-16 19:20:32 UTC


README

Build Status codecov Type Coverage

Immutable IP value objects.

Installation

require innmind/ip

Usage

use Innmind\IP\{
    IP,
    IPv4,
    IPv6,
    Exception\DomainException,
};
use Innmind\Immutable\Maybe;

$ipv4 = IP::v4('192.168.0.1');
$ipv6 = IP::v6('2001:db8:a0b:12f0::1');
IPv4::of('192.168.0.1'); // same as above
IPv6::of('2001:db8:a0b:12f0::1'); // same as above
IPv4::of('localhost'); // throws DomainException
IPv6::of('localhost'); // throws DomainException
IPv4::maybe('localhost'); // returns Maybe<IPv4>
IPv6::maybe('localhost'); // returns Maybe<IPv6>