GitHub - PHLAK/SemVer: Semantic versioning helper library for PHP
source link: https://github.com/PHLAK/SemVer
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
SemVer
Semantic versioning helper library for PHP -- by, Chris Kankiewicz
Introduction
More info coming soon...
Requirements
- PHP >= 5.4
Install with Composer
composer require phlak/semver
Initializing
use PHLAK\SemVer; $version = new SemVer\Version(); // Initilializes to '0.1.0'
Or initialize with a custom version by passing a version string on creation. Accepts any valid semantic version string with or without a preceding 'v'.
$version = new SemVer\Version('v1.2.3-alpha.5-sha.8d31ff4');
Usage
Retrieve the version or individual values
$version = new SemVer\Version('v1.2.3-beta.4+007'); echo $version; // '1.2.3-beta.4+007' echo $version->major; // 1 echo $version->minor; // 2 echo $version->patch; // 3 echo $version->preRelease; // 'beta.4' echo $version->build; // '007'
Increment the version
$version = new SemVer\Version('v1.2.3'); $version->incrementMajor(); // v1.2.3 -> v2.0.0 $version->incrementMinor(); // v1.2.3 -> v1.3.0 $version->incrementPatch(); // v1.2.3 -> v1.2.4
Set (override) the version or individual values
$version = new SemVer\Version(); $version->setVersion('v1.2.3'); // v1.2.3 $version->setMajor(3); // v1.2.3 -> v3.0.0 $version->setMinor(5); // v1.2.3 -> v1.5.0 $version->setPatch(7); // v1.2.3 -> 1.2.7 $version->setPreRelease('rc.2'); // v1.2.3 -> v1.2.3-rc.2 $version->setBuild('007'); // v1.2.3 -> v1.2.3+007
Clear pre-release / build values
$version->setPreRelease(null); // v1.2.3-rc.2 -> v1.2.3 $version->setBuild(null); // v1.2.3+007 -> v1.2.3
Compare two SemVer objects
$version1 = new SemVer('v1.2.3'); $version2 = new SemVer('v3.2.1'); $version1->gt($version2); // false $version1->lt($version2); // true $version1->eq($version2); // false $version1->neq($version2); // true $version1->gte($version2); // false $version1->lte($version2); // true
Troubleshooting
Please report bugs to the GitHub Issue Tracker.
Copyright
This project is liscensed under the MIT License.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK