elliotjreed/cloudflare-cache-purge

Cloudflare API 的 PHP 封装,用于列出区域和清除缓存。

2.0.2 2023-12-16 08:44 UTC

This package is auto-updated.

Last update: 2024-09-16 10:35:49 UTC


README

Contributor Covenant

PHP 的 Cloudflare 缓存清除

需要 PHP 8.1 或更高版本。

此库允许列出 Cloudflare "区域" 并在区域内清除缓存文件。

它可以作为部署流程的一部分使用。

用法

Cloudflare API 令牌

要生成 Cloudflare API 令牌,请访问 dash.cloudflare.com/profile/api-tokens 并生成一个新的 API 令牌,具有 "区域" 读取和 "缓存" 清除权限。

列出区域

<?php

use ElliotJReed\Exception\Cloudflare;
use ElliotJReed\Zones;
use GuzzleHttp\Client;

try {
    $zoneResponse = (new Zones(new Client(), 'SECRET CLOUDFLARE API TOKEN'))
        ->get();

    foreach ($zoneResponse->getResults() as $result) {
        echo 'Zone ID: ' . $result->getId() . \PHP_EOL;
        echo 'Zone name: ' . $result->getName() . \PHP_EOL . \PHP_EOL;
    }
} catch (Cloudflare $exception) {
    echo $exception->getMessage() . \PHP_EOL;
    echo $exception->getPrevious()->getMessage() . \PHP_EOL;
}

清除区域内的缓存文件

区域 ID 可以从 Cloudflare 控制台(在右侧的 "API" 和 "区域 ID" 下)或使用 ElliotJReed\Zones 获取。

<?php

use ElliotJReed\Cache;
use ElliotJReed\Exception\Cloudflare;
use GuzzleHttp\Client;

$urls = [
    'https://www.example.com.com/image1.png',
    'https://www.example.com.com/image2.png'
];

try {
    $cacheResponse = (new Cache(new Client(), 'SECRET CLOUDFLARE API TOKEN'))
        ->purgeFiles('zone-id-from-api-or-dashboard', $urls);

    foreach ($cacheResponse->getResults() as $result) {
        echo 'Cache Purge Response ID: ' . $result->getId() . \PHP_EOL . \PHP_EOL;
    }
} catch (Cloudflare $exception) {
    echo $exception->getMessage() . \PHP_EOL;
    echo $exception->getPrevious()->getMessage() . \PHP_EOL;
}

开发

预计需要 PHP 8.0 或更高版本,并已安装 Composer。

安装 Composer

有关如何安装 Composer 的说明,请访问 getcomposer.org

安装

在克隆此存储库后,切换到新创建的目录并运行

composer install

或如果您已在本目录中本地安装了 Composer

php composer.phar install

这将安装项目所需的全部依赖项。

因此,本 README 的其余部分将假定已全局安装 composer(即如果您正在使用 composer.phar,则需要使用 composer.phar 而不是 composer 在您的终端/命令行中)。

运行测试

单元测试

此项目的单元测试通过 PHPUnit 进行。

所有单元测试都可以通过执行以下操作运行

composer phpunit

调试

要使 PHPUnit 停止并报告遇到的第一个失败的测试,请运行

composer phpunit:debug

静态分析

静态分析工具可以指出代码中的潜在 "薄弱点",并有助于识别意外的副作用。

[Psalm 被配置为最高级别,这意味着假阳性相当可能。

所有静态分析测试都可以通过执行以下操作运行

composer static-analysis

代码格式化

在团队合作时,代码样式标准非常重要,因为它意味着开发者花费在处理所阅读内容上的时间会更少(因为一切都将保持一致)。

代码格式化通过 PHP-CS-Fixer 自动化。

PHP-CS-Fixer 不会格式化构成 PSR-2 编码标准一部分的行长度,因此当通过 PHP Code Sniffer 检查时,这些会产生警告。

这些可以通过执行以下操作运行

composer phpcs

运行所有内容

所有测试都可以通过执行以下操作运行

composer test

过时的依赖项

可以通过执行以下操作检查过时的 Composer 依赖项

composer outdated

验证 Composer 配置

可以通过执行以下操作来验证 composer.json 是否有效

composer validate --no-check-publish

通过 GNU Make 运行

如果已安装 GNU Make,则可以将上述 composer 命令前缀替换为 make

所有测试都可以通过执行以下操作运行

make test

GitHub Actions

请查看.github/workflows/php.yml中的示例。

构建工具

许可证

本项目采用MIT许可证 - 详细信息请参阅LICENCE.md文件。