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文件。