mesour / ip-addresses
IP address normalizer and validator. For IPv4 and IPv6.
Fund package maintenance!
mesour
Installs: 21 680
Dependents: 1
Suggesters: 0
Security: 0
Stars: 11
Watchers: 2
Forks: 2
Open Issues: 0
Requires
- php: >=8.0
Requires (Dev)
- nette/robot-loader: ^2.4
- nette/tester: ^2.3
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/phpstan: ^1.8.5
- tracy/tracy: ~2.3.0
This package is auto-updated.
Last update: 2024-12-27 00:17:50 UTC
README
-
IP address normalizer and validator. For IPv4 and IPv6.
Install
Usage
Usage: Mesour\IpAddresses\IpAddressValidator
Assert::true(IpAddressValidator::isIpV6('2a00:5565:2222:800::200e')); Assert::true(IpAddressValidator::isIpV4('127.0.0.1'));
Usage: Mesour\IpAddresses\IpAddressNormalizer
Normalize IPv6:
IpAddressNormalizer::normalizeIpV6('2001:db8:800::ff00:42:8329'); // result is: 2001:0db8:0800:0000:0000:ff00:0042:8329
Compress IPv6:
IpAddressNormalizer::compressIpV6('2001:0db8:0800:0000:0000:ff00:0042:8329'); // result is: 2001:db8:800::ff00:42:8329
Usage: Mesour\IpAddresses\IpAddress
Normalize IPv4:
$ipAddress = IpAddress::create('127.0.0.1'); $ipAddress->isIpV4(); // result is: true $ipAddress->isIpV6(); // result is: false $ipAddress->getValue(); // result is: 127.0.0.1
Normalize IPv6:
- Result of
getValue
is compressed IPv6 value
$ipAddress = IpAddress::create('2001:0db8:0800:0000:0000:ff00:0042:8329'); $ipAddress->isIpV4(); // result is: false $ipAddress->isIpV6(); // result is: true $ipAddress->getValue(); // result is: 2001:db8:800::ff00:42:8329
Development
- Syntax check:
vendor/bin/parallel-lint src tests
- PHP Stan:
vendor/bin/phpstan analyse -l 7 -c phpstan.neon src tests
- Run tests:
vendor/bin/tester -p php tests/ -s -c tests/php.ini