stevegrunwell / semver-parser
用于解析和操作语义版本("SemVer")发布的库
dev-develop
2024-08-18 16:14 UTC
Requires (Dev)
- php: ^7.4 || ^8.0
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- phpcompatibility/php-compatibility: ^9.3
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^11.3
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-18 16:25:34 UTC
README
此库定义了SteveGrunwell\SemVer\Version
类,该类旨在根据语义版本("SemVer")规则解析和操作版本号。
安装
使用Composer安装库
$ composer require stevegrunwell/semver-parser
请注意,虽然此库应该与PHP 7.4及更高版本兼容,但单元测试仅在CI中针对积极支持版本的PHP运行。
用法
Version
类的构造函数可以接受基于语义版本2.0.0规范的有效、语义版本。
use SteveGrunwell\SemVer\Parser; // Import the Composer-generated autoloader. require_once __DIR__ . '/vendor/autoload.php'; $version = new Version('1.2.3-rc1+local'); // Parse the version. $version->getMajorVersion(); // 1 $version->getMinorVersion(); // 2 $version->getPatchVersion(); // 3 $version->getPreReleaseVersion(); // rc1 $version->getBuildMetadata(): // local // Modify the version. $version->setMajorVersion(4); $version->setMinorVersion(5); $version->setPatchVersion(6); $version->setPreReleaseVersion('rc2'); $version->setBuildMetadata('github-actions.ubuntu2404'); // Retrieve the updated version as a string. $version->getVersion(); // "4.5.6-rc2+github-actions.ubuntu2404" (string) $version; // "4.5.6-rc2+github-actions.ubuntu2404"
其他方法
除了上述设置器和获取器外,每个主要、次要和修补值都有相应的增加和减少方法。
// Increment values. $version->incrementMajorVersion(); $version->incrementMinorVersion(); $version->incrementPatchVersion(); // Decrement values. $version->decrementMajorVersion(); $version->decrementMinorVersion(); $version->decrementPatchVersion();
值得注意的是,incrementMajorVersion()
和incrementMinorVersion()
将根据语义版本2.0.0规范重置次要/修补值和修补值。
许可协议
此库根据MIT许可协议发布。有关详细信息,请参阅LICENSE.md。