gpenverne / cloudflare-bundle
此扩展实现了Cloudflare API
2.2.2
2020-01-21 16:26 UTC
Requires
- php: >=7.0.0
- ext-json: *
- cloudflare/sdk: ^1.0
- symfony/config: ^5.0||^4.0||^3.0
- symfony/dependency-injection: ^5.0||^4.0||^3.0
README
这是一个用于 Cloudflare v4 API 的PHP库的 Symfony3 扩展。
安装
$ composer require gpenverne/cloudflare-bundle
配置
您需要从Cloudflare的"My Profile" > "API Tokens"页面生成一个"APIToken"
# app/config/packages/cloudflare.yaml ... cloudflare: api_token: your_cloudflare_api_token
或者对于旧版本的symfony
# app/config/parameters.yml parameters: cloudflare.api_token: some-cloudflare-api_token
使用它
$cloudflareService = $this->container->get('cloudflare.service'); // Or ... $cloudflareService = $this->container->get(Gpenverne\CloudflareBundle\Services\CloudflareService::class) // Or inject in your constructors // Retrieve a Cloudflare SDK endpoint $userEndpoint = $cloudflareService->get('User'); // Or use built-in shortcut $userEndpoint = $cloudflareService->user; // Listing all zones $zones = $cloudflareService->zones->listZones(); // Adapted example from extracted from https://support.cloudflare.com/hc/en-us/articles/115001661191 $zones = $cloudflareService->zones; foreach ($zones->listZones()->result as $zone) { echo "Cache purge for " . $zone->name . ": "; echo $zones->cachePurgeEverything($zone->id) == true ? "successful" : "failed"; echo PHP_EOL; } // Add a domain to a zone try { return $cloudflareService->dns->addRecord( $zone->id, 'CNAME', 'my-subdomain', 'my-domain.com' ); } catch (\Exception $e) { return false; }