mesour / ip-addresses
IP 地址标准化和验证器。适用于 IPv4 和 IPv6。
v0.3.0
2022-10-26 19:28 UTC
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-08-26 23:23:08 UTC
README
-
IP 地址标准化和验证器。适用于 IPv4 和 IPv6。
安装
用法
用法: Mesour\IpAddresses\IpAddressValidator
Assert::true(IpAddressValidator::isIpV6('2a00:5565:2222:800::200e')); Assert::true(IpAddressValidator::isIpV4('127.0.0.1'));
用法: Mesour\IpAddresses\IpAddressNormalizer
标准化 IPv6
IpAddressNormalizer::normalizeIpV6('2001:db8:800::ff00:42:8329'); // result is: 2001:0db8:0800:0000:0000:ff00:0042:8329
压缩 IPv6
IpAddressNormalizer::compressIpV6('2001:0db8:0800:0000:0000:ff00:0042:8329'); // result is: 2001:db8:800::ff00:42:8329
用法: Mesour\IpAddresses\IpAddress
标准化 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
标准化 IPv6
- getValue 方法的返回结果是压缩后的 IPv6 值
$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
开发
- 语法检查:
vendor/bin/parallel-lint src tests
- PHP Stan:
vendor/bin/phpstan analyse -l 7 -c phpstan.neon src tests
- 运行测试:
vendor/bin/tester -p php tests/ -s -c tests/php.ini