sebastian/version

帮助管理Git托管PHP项目版本号的库

5.0.1 2024-07-03 05:13 UTC

This package is auto-updated.

Last update: 2024-09-07 13:17:21 UTC


README

Latest Stable Version

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仓库,并且 $releaseX.Y.Z 格式,则返回 $release 不变。
  • 如果 $path 不是(部分)Git仓库,并且 $releaseX.Y 格式,则返回带有 -dev 后缀的 $release
  • 如果 $path 是(部分)Git仓库,并且 $releaseX.Y.Z 格式,则返回 git describe --tags 的输出不变。
  • 如果 $path 是(部分)Git仓库,并且 $releaseX.Y 格式,则返回以 X.Y 开头并以 git describe --tags 的信息结尾的字符串。