PHP code example of hampel / cloudflare-api-laravel

1. Go to this page and download the library: Download hampel/cloudflare-api-laravel library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

hampel / cloudflare-api-laravel example snippets


'providers' => [
    AppServiceProvider::class,
    Hampel\Cloudflare\Api\Laravel\CloudflareServiceProvider::class,
],

use Hampel\Cloudflare\Api\Laravel\CloudflareManager;
use Hampel\Cloudflare\Api\Laravel\Facades\Cloudflare;

Cloudflare::zones()->all();                // the facade, imported

public function handle(CloudflareManager $cloudflare): void
{
    $cloudflare->zones()->all();           // or injected
}

'accounts' => [
    'main' => ['token' => env('CLOUDFLARE_API_TOKEN')],
    'customers' => ['token' => env('CUSTOMERS_CLOUDFLARE_API_TOKEN')],
],

use Hampel\Cloudflare\Api\Laravel\Facades\Cloudflare;

Cloudflare::zones()->all();                        // the default account
Cloudflare::client('customers')->zones()->all();   // a named one

use Hampel\Cloudflare\Api\Entity\DnsRecord;
use Hampel\Cloudflare\Api\Laravel\Facades\Cloudflare;

$zone = Cloudflare::zones()->getByName('example.com');

$records = Cloudflare::zones()->records($zone->id)->all();

Cloudflare::zones()->records($zone->id)->create(
    DnsRecord::a('www', '203.0.113.10')->withTtl(300)
);

use Hampel\Cloudflare\Api\Laravel\CloudflareManager;

public function __construct(private readonly CloudflareManager $cloudflare)
{
}

$this->cloudflare->client('customers')->zones()->all();

$token = Cloudflare::verify();     // raises NotAuthenticatedException if the token is invalid

$token->isActive();
$token->expiresWithinDays(30);

Cloudflare::verify();
Cloudflare::zones()->list(1, 5);   // raises NotAuthenticatedException if refused from here

use Illuminate\Support\Facades\Http;

Http::preventStrayRequests();

Http::fake([
    'api.cloudflare.com/*' => Http::response([
        'success' => true,
        'errors' => [],
        'messages' => [],
        'result' => [['id' => '023e105f4ecef8ad9ca31a8372d0c353', 'name' => 'example.com']],
        'result_info' => ['page' => 1, 'per_page' => 20, 'count' => 1, 'total_count' => 1],
    ]),
]);

$zone = Cloudflare::zones()->findByName('example.com');

Http::assertSent(fn ($request) => $request->hasHeader('Authorization'));

use Hampel\Cloudflare\Api\Laravel\CloudflareServiceProvider;

$this->app->singleton(CloudflareServiceProvider::HTTP_CLIENT, fn () => new YourPsr18Client());

use Psr\Http\Client\ClientInterface;

$this->app->bind(CloudflareServiceProvider::HTTP_CLIENT, fn ($app) => $app->make(ClientInterface::class));

$cloudflare = Cloudflare::client();

$settings = $cloudflare->endpoint(ZoneSettings::class)->all($zoneId);

// or, for a single call
$ssl = $cloudflare->connection()->get('zones/' . $zoneId . '/settings/ssl')->object();
bash
php artisan vendor:publish --tag=cloudflare-config
bash
php application vendor:publish --tag=cloudflare-config