adweingarten / cloudflarephpsdk
与 CloudFlare SDK 交互的 PHP 客户端。CloudFlare 是 CloudFlare, Inc. 的版权所有。本工具的作者与 CloudFlare, Inc. 无关联。
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: ~6.1|^7.0
Requires (Dev)
- drupal/coder: 8.2.*
- pdepend/pdepend: 1.1.*
- phing/phing: 2.11.*
- phploc/phploc: 2.0.*@dev
- phpmd/phpmd: 1.*
- phpunit/phpunit: ~4.8
- sebastian/phpcpd: 2.0.*@dev
- squizlabs/php_codesniffer: 2.*
This package is not auto-updated.
Last update: 2024-09-28 18:21:19 UTC
README
提供 PHP 客户端以与 Cloudflare API 交互,请参阅:https://api.cloudflare.com/ SDK 设计用于让开发者无需了解与 API 交互的所有底层细节即可与 CloudFlare 一起工作。
API 设计时考虑了易用性。
注意:CloudFlare 是 CloudFlare Inc. 的商标。此项目独立于 CloudFlare Inc. 维护。
用法
以下是一些 API 的常见用法
$api_key = 'your_cloudflare_api_key';
$user_email = 'your_cloudflare_email'
$api = new \Drupal\cloudflare\ZoneApi($api_key, $user_email );
$zoneId = $api->listZones()[0]->getZoneId();
$zone = $api->loadZone($zoneId);
$zone_settings = $zone-> getSettings();
$result = $api->purgeIndividualFiles($zoneId, array('path1'));
$result = $api->setSecurityLevel($zoneId, 'low');
结构
ApiTypes
将来自 API 的传入数据解析到类型数据结构中。为传入数据创建类型类使与 API 的工作对开发者来说更加简单。它消除了对数组中内容的猜测。
ApiEndPoints
提供与远程 API 交互的设施。每个 API 端点扩展 CloudFlareAPI。基于 CloudFlareAPI 的新端点获得了执行请求所需的大量结构工作。
异常
SDK 依赖于异常模型进行错误处理。当发生意外结果时,会抛出异常。使用 SDK 开发时,您需要在应用级别提供 try-catch 块来处理。根据异常发生的 SDK 区域抛出不同的异常。
CloudFlareAPI.php
提供对 cloudflare 进行 webservice 调用的设施。它提供了一个围绕 guzzle 的包装,这样使用此模块的人就不必关心 guzzle 的底层实现细节。
开发者贡献指南
使用正确的命名空间
此 SDK 中的所有代码都在 CloudFlarePhpSdk 中使用 PSR-4 自动加载进行命名空间。
编码标准
提交的代码必须通过 code sniffer。
类型提示
对所有变量和参数进行类型提示。它使使用 IDE 的开发者工作变得更加简单。
单元测试
SDK 的目标是 100% PHPUnit 测试覆盖率。它通常在 80% 覆盖率左右。提交代码时,请确保更改要么被现有测试覆盖,要么提供新的测试!
Travis CI
存储库已配置为与 Travis CI 一起使用。所有拉取请求都会自动排队进行自动化测试。PR 必须通过自动化测试才能被考虑集成。