elliotjreed / cloudflare-cache-purge
Cloudflare API 的 PHP 封装,用于列出区域和清除缓存。
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.41
- phpunit/phpunit: ^10.5
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.8
This package is auto-updated.
Last update: 2024-09-16 10:35:49 UTC
README
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文件。