sebastian / version
帮助管理Git托管PHP项目版本号的库
5.0.1
2024-07-03 05:13 UTC
Requires
- php: >=8.2
README
sebastian/version
sebastian/version 是一个帮助管理Git托管PHP项目版本号的库。
安装
您可以使用 Composer 将此库添加为项目的本地依赖项。
composer require sebastian/version
如果您只需要在开发期间使用此库,例如运行项目的测试套件,那么您应该将其添加为开发时间依赖项
composer require --dev sebastian/version
用法
SebastianBergmann\Version
类的构造函数期望两个参数
$release
是最新版本的版本号(例如X.Y.Z
),或者在没有从该分支/版本系列发布任何版本时,版本系列的名称(例如X.Y
)。$path
是可以找到项目源代码的目录(或其子目录)的路径。通常只需传递__DIR__
即可。
除了构造函数外,SebastianBergmann\Version
类还有一个公共方法:asString()
。
以下是一个假设的示例,展示了基本用法
<?php declare(strict_types=1); use SebastianBergmann\Version; $version = new Version('1.0.0', __DIR__); var_dump($version->asString());
string(18) "1.0.0-17-g00f3408"
当准备新的版本发布时,传递给构造函数的第一个参数的字符串需要更新。
SebastianBergmann\Version::asString() 的工作原理
- 如果
$path
不是(部分)Git仓库,并且$release
以X.Y.Z
格式,则返回$release
不变。 - 如果
$path
不是(部分)Git仓库,并且$release
以X.Y
格式,则返回带有-dev
后缀的$release
。 - 如果
$path
是(部分)Git仓库,并且$release
以X.Y.Z
格式,则返回git describe --tags
的输出不变。 - 如果
$path
是(部分)Git仓库,并且$release
以X.Y
格式,则返回以X.Y
开头并以git describe --tags
的信息结尾的字符串。