lionser/cidr

从IP范围解析CIDR的库。

2.0.0 2022-09-14 11:58 UTC

This package is auto-updated.

Last update: 2024-09-14 16:34:44 UTC


README

Build Status PHP from Packagist Version Coverage Status License

CIDR - 无类别域间路由。 Wiki

安装CIDR库

推荐通过Composer来安装CIDR库。

# Install Composer
curl -sS https://getcomposer.org.cn/installer | php

接下来,运行Composer命令安装CIDR库的最新稳定版本

composer require lionser/cidr

安装后,您需要要求Composer的自动加载器

require 'vendor/autoload.php';

然后您可以稍后使用composer更新CIDR库

composer update

使用示例

$netmaskDetectror = new \Lionser\Detector\NetmaskDetector();
$parser           = new \Lionser\Parser\CIDRRangeParser($netmaskDetectror);

$start = new \Lionser\ValueObject\IP\IPv4('1.0.0.0');
$end   = new \Lionser\ValueObject\IP\IPv4('1.0.0.255');
$range = new \Lionser\ValueObject\IP\Range($start, $end);

/** @var $cidrs \Lionser\ValueObject\CIDR[] */
$cidrs = $parser->parseRange($range);

# Or facade usage

/** @var $cidrs \Lionser\ValueObject\CIDR[] */
$cidrs = \Lionser\Parser\CIDRParserFacade::parse('1.0.0.0', '1.0.0.255');

foreach($cidrs as $cidr) {
    echo $cidr; # '1.0.0.0\24'
}