stevegrunwell/semver-parser

用于解析和操作语义版本("SemVer")发布的库

dev-develop 2024-08-18 16:14 UTC

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