PSL 5.2.0
New: IP Component
Immutable, binary-backed value object for IPv4 and IPv6 addresses. Parse, classify, compare, and format IP addresses with a clean API.
use Psl\IP\Address;
$addr = Address::parse('192.168.1.1');
$addr->family; // Family::V4
$addr->isPrivate(); // true
$addr->isGlobalUnicast(); // false
$addr->toArpaName(); // '1.1.168.192.in-addr.arpa'
$v6 = Address::v6('2001:db8::1');
$v6->toString(); // '2001:db8::1'
$v6->toExpandedString(); // '2001:0db8:0000:0000:0000:0000:0000:0001'Improved: CIDR\Block::contains()
Block::contains() now accepts string|IP\Address:
use Psl\CIDR\Block;
use Psl\IP\Address;
$block = new Block('192.168.1.0/24');
$block->contains(Address::v4('192.168.1.100')); // trueDocumentation: psl.carthage.software/5.2.0/ | IP | CIDR
Full Changelog: 5.1.0...5.2.0