PHP code example of jeffpacks / semver

1. Go to this page and download the library: Download jeffpacks/semver library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

jeffpacks / semver example snippets



effpacks\semver\VersionNumber;


effpacks\semver\VersionNumber;
use jeffpacks\semver\VersionRange;

$alphaVersion = new VersionNumber('1.2.0-alpha.12');
$betaVersion = new VersionNumber('1.0.3-beta.3');
$stableVersion = new VersionNumber('1.2.3');

$stableVersion->isMajor(); # false
$stableVersion->isMinor(); # false
$stableVersion->isPatch(); # true
$stableVersion->isAlpha(); # false
$stableVersion->isBeta(); # false

$alphaVersion->isStable(); # false
$betaVersion->isStable(); # false
$stableVersion->isStable(); # true

$stableVersion->getMajor(); # 1
$stableVersion->getMinor(); # 2
$stableVersion->getPatch(); # 3
$stableVersion->getAux(); # null
$betaVersion->getPreReleaseNumber(); # 3
$alphaVersion->getPreReleaseNumber(); # 12

$stableVersion->isHigherThan('1.1.9'); # true
$alphaVersion->isHigherThan($betaVersion); # true
$stableVersion->isLowerThan('1.3.0'); # true
$stableVersion->isEqualTo($betaVersion); # false
$stableVersion->isEqualTo($betaVersion, VersionNumber::MAJOR | VersionNumber::PATCH); # true
$stableVersion->matches('1.*.3'); # true

$stableVersion->increment(); # 1.2.4
$betaVersion->increment(); # 1.0.3-beta.4
$stableVersion->decrement(VersionNumber::MINOR); # 1.1.4
$alphaVersion->setBeta(); # 1.2.0-beta.1
$alphaVersion->setBeta(5); # 1.2.0-beta.5

VersionNumber::sort(['1.2', '1.10', '1.1']); # ['1.1', '1.2, '1.10']
VersionNumber::sort(['1.2', '1.10', '1.1'], true); # ['1.10', '1.2, '1.1']
VersionNumber::sort([$betaVersion, $alphaVersion]); # [$alphaVersion, $betaVersion]

$range = new VersionRange('^2.1');
$range->isInRange('1.0.0'); # false
$range->isInRange('2.1.1'); # true
$range->isInRange('3.0.0'); # false
$highestMatch = $range->getHighestMatch(['1.2.0', '2.2.1', '2.1.2', '3.1.3']); # '2.2.1'