yiisoft / network-utilities
Network related utilities
Fund package maintenance!
Open Collective
yiisoft
Installs: 243 701
Dependents: 2
Suggesters: 2
Security: 0
Stars: 23
Watchers: 16
Forks: 7
Open Issues: 3
Requires
- php: ^7.4|^8.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- roave/infection-static-analysis-plugin: ^1.16
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^4.18
This package is auto-updated.
Last update: 2023-08-31 00:28:19 UTC
README
Yii Network Utilities
The package contains various network utilities useful for:
- getting info about IP address;
- checking if IP is in a certain range;
- expanding IPv6;
- converting IP to bits representation;
- checking DNS record availability.
Requirements
- PHP 7.4 or higher.
Installation
The package could be installed with composer:
composer require yiisoft/network-utilities --prefer-dist
General usage
IpHelper
use Yiisoft\NetworkUtilities\IpHelper; // Check IP version. $version = IpHelper::getIpVersion('192.168.1.1'); if ($version === IpHelper::IPV4) { // ... } // Check if IP is in a certain range. if (!IpHelper::inRange('192.168.1.21/32', '192.168.1.0/24')) { throw new \RuntimeException('Access denied!'); } // Expand IP v6. echo IpHelper::expandIPv6('2001:db8::1'); // Convert IP to bits representation. echo IpHelper::ip2bin('192.168.1.1'); // Get bits from CIDR Notation. echo IpHelper::getCidrBits('192.168.1.21/32');
DnsHelper
use Yiisoft\NetworkUtilities\DnsHelper; // Check DNS record availability. if (!DnsHelper::existsA('yiiframework.com')) { // Record not found. }
Testing
Unit testing
The package is tested with PHPUnit. To run tests:
./vendor/bin/phpunit
Mutation testing
The package tests are checked with Infection mutation framework with Infection Static Analysis Plugin. To run it:
./vendor/bin/roave-infection-static-analysis-plugin
Static analysis
The code is statically analyzed with Psalm. To run static analysis:
./vendor/bin/psalm
License
The Yii Network Utilities is free software. It is released under the terms of the BSD License.
Please see LICENSE
for more information.
Maintained by Yii Software.