fzed51 / version
类用于处理版本号
v2.0.0
2022-10-16 14:26 UTC
Requires
- php: ^8.1
- ext-json: *
- fzed51/console-options: ^2.0
Requires (Dev)
- ocramius/package-versions: ^2.6
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-09-16 18:31:22 UTC
README
类用于处理语义版本号
安装
composer require fzed51/version
使用
从构造函数创建,SemVer 对象会自动转换为字符串。它为版本的每个元素提供getter。它支持主版本号、次版本号、补丁、预发布和构建元数据。
$version = new \Version\SemVer(1,0,0); echo $version; // v1.0.0 echo $version->major(); // 1
$version = new \Version\SemVer(1,1,0); $version->nextMinor(); echo $version; // v1.2.0
$version = new \Version\SemVer(1,1,0); $version->nextMajor(); echo $version; // v2.0.0
$version = new \Version\SemVer(1,0,0,'dev'); echo $version; // v1.0.0-dev $version->setRelease('rc1') echo $version; // v1.0.0-rc1 $version->setMetaBuild('01122021-1630') echo $version; // v1.0.0-rc1+01122021-1630 $version->setMetaBuild(); echo $version; // v1.0.0-rc1 $version->setRelease(); echo $version; // v1.0.0
$version = \Version\SemVer::fromString('v2.4'); echo $version; // v2.4.0
$version1 = new \Version\SemVer(1,1,0); $version2 = new \Version\SemVer(11,0,0); var_dump($version2->gt($version1)); // true var_dump($version2->ge($version1)); // true var_dump($version2->eq($version1)); // false var_dump($version2->le($version1)); // false var_dump($version2->lt($version1)); // false var_dump($version2->ne($version1)); // true
$version = new \Version\SemVer(1,1,0,'rc1','12242010'); $json = json_encode($version) ; echo $json; // {"major":1,"minor":0,"patch":0,"preRelease":"rc1","metaBuild":"12242010"}