lionser/cidr

Library for parse CIDR from ip range.

Installs: 6 676

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/lionser/cidr

2.0.0 2022-09-14 11:58 UTC

This package is auto-updated.

Last update: 2025-12-14 19:01:59 UTC


README

Build Status PHP from Packagist Version Coverage Status License

CIDR - Classless Inter-Domain Routing. Wiki

Installing CIDR Library

The recommended way to install CIDR Library is through Composer.

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

Next, run the Composer command to install the latest stable version of CIDR Library:

composer require lionser/cidr

After installing, you need to require Composer's autoloader:

require 'vendor/autoload.php';

You can then later update CIDR Library using composer:

composer update

Usage example:

$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'
}