questocat / version-comparator
基于语义版本控制2.0.0比较两个版本号字符串
v1.0.0
2018-04-14 06:53 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.8
This package is auto-updated.
Last update: 2024-09-20 13:39:48 UTC
README
基于语义版本控制2.0.0比较两个版本号字符串
安装
使用Composer将包添加到项目的依赖项中
$ composer require questocat/version-comparator
用法
使用比较方法
$semVerManager = new SemVerManager(); $semVerManager->compare('2.9.0', '2.9.6', '<'); // true $semVerManager->compare('5.1.0', '5.1.0-alpha', '>'); // true $semVerManager->compare('2.0.1-alpha.2', '2.0.1-alpha.1', '<'); // false $semVerManager->compare('2.0.1-alpha.2', '2.0.1-alpha.1', '>'); // true $semVerManager->compare('2.0.1-alpha.2', '2.0.1-alpha.1', '!='); // true $semVerManager->compare('1.0.0-alpha.1', '1.0.0-alpha.beta', '<'); // true $semVerManager->compare('2.0.1-alpha-abc.2', '2.0.1-alpha-abc.1', '>'); // true $semVerManager->compare('1.0.0-alpha', '1.0.0-beta', '<'); // true $semVerManager->compare('0.0.0+0', '0.0.0+1', '='); // true $semVerManager->compare('1.0.0-alpha+001', '1.0.0+20130313144700', '<'); // true $semVerManager->compare('1.0.0-rc.1+build.1', '1.0.0-rc.1', '<'); // false $semVerManager->compare('1.0.0-rc.1+build.1', '1.0.0-rc.1', '='); // true $semVerManager->compare('1.0.0-rc.2+build.1', '1.0.0-rc.1', '<'); // fasle $semVerManager->compare('1.0.0-rc.2+build.1', '1.0.0-rc.1', '>='); // true
其他示例
$semVerManager->compare('1.0.0-alpha', '1.0.0-alpha.1', '<'); $semVerManager->compare('1.0.0-alpha.1', '1.0.0-alpha.beta', '<'); $semVerManager->compare('1.0.0-alpha.beta', '1.0.0-beta', '<'); $semVerManager->compare('1.0.0-beta', '1.0.0-beta.2', '<'); $semVerManager->compare('1.0.0-beta.2', '1.0.0-beta.11', '<'); $semVerManager->compare('1.0.0-beta.11', '1.0.0-rc.1', '<'); $semVerManager->compare('1.0.0-rc.1', '1.0.0', '<');
结论
1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0
使用compareTo方法
$semVerManager = new SemVerManager('2.9.0'); $semVerManager->compareTo('2.9.6', '<'); // true $semVerManager->compareTo('2.8.9', '>'); // true $semVerManager->compareTo('2.8.9-alpha', '>'); // true
参考
许可证
在MIT许可证下授权。