ceus-media/语义版本控制

语义版本控制

0.2.0 2024-02-25 04:07 UTC

This package is auto-updated.

Last update: 2024-08-25 05:10:11 UTC


README

Branch Release PHP version PHPStan level

简单的(且目前不完整)PHP 8 语义版本控制实现Semantic Versioning

安装

composer require ceus-media/semantic-versioning

用法

创建版本并进行操作

$v = new Version( '1.2.3' );
$v->incrementPatch();  //  --> 1.2.4
$v->incrementMinor();  //  --> 1.3.0
$v->incrementMajor();  //  --> 2.0.0

比较版本

$v1 = new Version( '1.2.3' );
$v2 = new Version( '1.2.4' );
$v2->isLowerThan( $v1 );      //  -->  no
$v2->isGreaterThan( $v1 );    //  -->  yes
$v2->isAtLeast( $v1 );        //  -->  yes
$v2->isAtMost( $v1 );         //  -->  no
$v2->isEqualTo( $v1 );        //  -->  no
$v2->isDifferentFrom( $v1 );  //  -->  yes

定义范围并比较

$r	= new Range( '^1.2' );
Renderer::render( $r );      //  -> '^1.2.0
$r->checkVersion( '1.0.0' )  //  --> n;
$r->checkVersion( '1.1.0' )  //  --> n;
$r->checkVersion( '1.2.0' )  //  --> y;
$r->checkVersion( '1.3.0' )  //  --> n;
$r->checkVersion( '2.0.0' )  //  --> n;

约束

... to be documented