php 语义解析,[扩展推荐] PHP 语义化版本(SemVer)辅助库

59b8d7f1a8b871a5a73b45afd8370fdb.png

SemVer 是由 Chris Kankiewicz 开发的一个语义化的提取版本号中各种信息的 PHP 辅助库。支持解析、递增和比较等特性。

下面是初始化 SemVer\Version 对象的基本用法:

use PHLAK\SemVer;

$version = new SemVer\Version(); // 初始化为'0.1.0'

利用 SemVer\Version 实例,可以获取版本号中的各种值:

$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 方法:

$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

版本之间的比较非常方便:

$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

在了解  PHLAK/SemVer 之前,我没有意识到 composer 也有一个 composer/semver 库,它有一个 comparator 和 semver 类,然而,我并没有发现在 PHLAK/SemVer 中有的 increment 系列方法。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接

我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值