Immutable IP value objects.
require innmind/ip
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>