koderzi/php-github-updater

PHP GitHub 发布更新器

1.6.0 2024-06-11 03:46 UTC

This package is auto-updated.

Last update: 2024-09-07 22:01:23 UTC


README

GitHub 发布更新器是一个PHP类,它允许您从最新的GitHub仓库发布更新您的项目。该类易于使用且效率高,可以保持您的项目与最新版本同步。

准备

在开始使用此类之前,您需要在GitHub上生成一个个人访问令牌。请按照以下步骤操作

安装

要使用Composer使用此类,请按照以下步骤操作

  • 在项目根目录中打开终端或命令提示符。
  • 运行以下命令以在项目中初始化composer.json文件
    composer init
  • 按照提示填写项目的详细信息(例如包名、描述、作者等)。
  • 运行以下命令安装koderzi/php-github-updater包
    composer require koderzi/php-github-updater

这将下载包及其依赖项并将它们添加到您的vendor目录中。

  • 在项目中包含vendor/autoload.php文件以自动加载包提供的类
    require_once "vendor/autoload.php";

如果您正在使用框架或其他自动加载机制,可能需要手动包含此文件。

要直接下载使用此类,请按照以下步骤操作

  • 从仓库的src目录检索Updater.php文件。
  • 将Updater.php文件放入您的项目目录中。
  • 在项目中包含文件以加载类。

使用

要初始化更新器类并开始更新过程,请按照以下步骤操作

  • 使用以下参数实例化类
    use KoderZi\PhpGitHubUpdater\Updater;

    $update = new Updater(
        string $username,
        string $repository,
        string $token,
        string $version,
        string|null $admin,
        string|null $mailer,
        array|null $sourceExclusions = ['path' => [], 'filename' => []],
        array|null $releaseExclusions  = ['path' => [], 'filename' => []],
        bool $clear = true,
        string $dir = ""
        bool $autoUpdate = true
    );

$username 您的GitHub用户名。
$repository 您的GitHub仓库名称。
$token 您之前生成的个人访问令牌。
$version 您项目的当前版本号。
$admin (可选)在更新失败时将收到电子邮件的管理员电子邮件地址。
$mailer (可选)将发送电子邮件的电子邮件地址。
$sourceExclusions (可选)要从更新中排除的源目录或文件数组。
$releaseExclusions (可选)要从更新中排除的发布目录或文件数组。
$clear (可选)如果设置为true,在更新完成后清除下载的文件。
$dir (可选)设置更新的目录。默认为当前工作目录。
$autoUpdate (可选)是否自动更新项目。默认为true。

排除数组的键

    $sourceExclusions = [
        'path' => an array of source excluded paths,
        'filename' => an array of source excluded filenames
    ]

    $releaseExclusions = [
        'path' => an array of release excluded paths,
        'filename' => an array of release excluded filenames
    ]

要检查发布版本,请使用以下代码

    $update->release();

如果可用新发布,类将自动更新您的项目。要手动更新,将$autoUpdate设置为false并使用以下代码开始更新

    $update->update();

要检查更新状态,请使用以下代码

    $update->status();

更新状态可以有以下整数值

Updater::INIT (100):表示更新类已初始化。
Updater::UPDATED (200):表示更新成功。
Updater::LATEST (204):表示项目已经是最新版本。
Updater::ERROR (500): 表示更新失败。
Updater::BUSY (504): 表示更新过程正在进行中。

结论

GitHub 发布更新器是一种简单高效的方法,用于保持您的项目与 GitHub 上的最新发布保持同步。它易于使用,可以节省您大量时间和精力。如果您有任何疑问或问题,请随时创建一个问题。