nikolaposa/version
Composer 安装命令:
composer require nikolaposa/version
包简介
Value Object that represents a SemVer-compliant version number.
README 文档
README
Value Object that represents a SemVer-compliant version number.
Installation
The preferred method of installation is via Composer. Run the following
command to install the latest version of a package and add it to your project's composer.json:
composer require nikolaposa/version
Usage
Creating a Version object via named constructor and accessing its values
use Version\Extension\Build; use Version\Extension\PreRelease; use Version\Version; $v = Version::from(2, 0, 0, PreRelease::from('alpha', '1'), Build::from('20191222232137')); echo $v->getMajor(); //2 echo $v->getMinor(); //0 echo $v->getPatch(); //0 print_r($v->getPreRelease()->getIdentifiers()); //Array([0] => alpha [1] => 1) echo $v->getPreRelease()->toString(); //alpha.1 print_r($v->getBuild()->getIdentifiers()); //Array([0] => 20191222232137) echo $v->getBuild()->toString(); //20191222232137
Creating a Version object from a string
$v = Version::fromString('1.10.0'); echo $v->toString(); //1.10.0
Comparing Version objects
$v1 = Version::fromString('1.10.0'); $v2 = Version::fromString('2.3.3'); var_dump($v1->isLessThan($v2)); //bool(true) var_dump($v1->isGreaterThan($v2)); //bool(false) var_dump($v1->isEqualTo($v2)); //bool(false) var_dump($v2->isLessThan($v1)); //bool(false) var_dump($v2->isGreaterThan($v1)); //bool(true)
Matching Version objects against constraints
$v = Version::fromString('2.2.0'); var_dump($v->matches(OperationConstraint::equalTo(Version::fromString('2.2.0')))); //bool(true) var_dump($v->matches(OperationConstraint::notEqualTo(Version::fromString('2.2.0')))); //bool(true) var_dump($v->matches(OperationConstraint::fromString('>=2.0.0 <2.3.0'))); //bool(true) var_dump($v->matches(OperationConstraint::fromString('>=2.0.0 <2.1.0 || 2.2.0'))); //bool(true)
Version operations
$v = Version::fromString('1.10.0'); $v1101 = $v->incrementPatch(); echo $v1101->toString(); //1.10.1 $v1110 = $v1101->incrementMinor(); echo $v1110->toString(); //1.11.0 $v2 = $v1101->incrementMajor(); echo $v2->toString(); //2.0.0 $v2Alpha = $v2->withPreRelease('alpha'); echo $v2Alpha->toString(); //2.0.0-alpha $v2Alpha111 = $v2Alpha->withBuild('111'); echo $v2Alpha111->toString(); //2.0.0-alpha+111
Version Collection
$versions = new VersionCollection( Version::from(1, 0, 1), Version::fromString('1.1.0'), Version::fromString('2.3.3') ); echo count($versions); //3 $versions = $versions->sortedDescending(); //Outputs: 2.3.3, 1.1.0, 1.0.1 foreach ($versions as $version) { echo $version->toString(); } $minorReleases = $versions->minorReleases(); echo $minorReleases->first(); //1.1.0
Credits
License
Released under MIT License - see the License File for details.
nikolaposa/version 适用场景与选型建议
nikolaposa/version 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 7.19M 次下载、GitHub Stars 达 140, 最近一次更新时间为 2015 年 09 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「version」 「semver」 「versioning」 「semantic」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 nikolaposa/version 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 nikolaposa/version 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 nikolaposa/version 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Semantic Versioning Parser and Comparator
Versioning behaviour for eloquent models
Converts SemVer version (like Composer packages) into integer version with operators. Helps managing versions: store, compare, sort and retrive by conditions.
A decent, standards-compliant, Semantic Versioning (SemVer) parser and library
Display a version number
A Laravel package for managing model drafts.
统计信息
- 总下载量: 7.19M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 141
- 点击次数: 32
- 依赖项目数: 15
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-09-19