gpenverne/cloudflare-bundle

此扩展实现了Cloudflare API

安装次数: 11,607

依赖: 1

建议: 0

安全: 0

星级: 2

关注者: 2

分支: 1

开放问题: 2

类型:symfony-bundle

2.2.2 2020-01-21 16:26 UTC

This package is not auto-updated.

Last update: 2024-09-19 12:33:55 UTC


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;
}