İçeriğe geç

NextPDF Cloudflare köprüsünü kurun

Paketi Composer ile kurun. Ardından PHP Standart Önerisi 18’i (PSR-18) uygulayan bir HTTP istemcisi ve PSR-17’yi uygulayan fabrikalar ekleyin. Köprü yalnızca arayüzleri bildirir; somut bir HTTP istemcisi içermez.

Köprü, bu bağımlılıkları require bölümünden okur; bu bölüm composer.json dosyasında bulunur:

BağımlılıkKısıt
PHP>=8.4 <9.0
nextpdf/core^3.0
psr/http-client (PSR-18)^1.0
psr/http-factory (PSR-17)^1.1
psr/log (PSR-3)^3.0

Paket, NextPDF\Cloudflare\ ad alanını src/Cloudflare/ dizininden otomatik yükler (PSR-4). PHPStan Düzey 10 statik analizinden geçer ve çözümleyici temel çizgisi içermez.

Terminal window
composer require nextpdf/cloudflare

Köprü yapıcısı, bir PSR-18 ClientInterface, bir PSR-17 RequestFactoryInterface ve bir PSR-17 StreamFactoryInterface gerektirir. Sabitlenmiş aktarım yolu, sağladığınızda ek olarak bir PSR-17 ResponseFactoryInterface kullanır. Uyumlu herhangi bir uygulamayı kullanabilirsiniz. README’de örneklerden biri olarak Guzzle belirtilir:

Terminal window
composer require guzzlehttp/guzzle

Guzzle 7, PSR-18 istemcisini ve dört PSR-17 fabrika arayüzünün tümünü sağlar. Symfony HttpClient, Buzz ve diğer uyumlu yığınlar da çalışır. Paket, tasarım gereği sağlayıcıdan bağımsızdır. tests/Unit/Architecture/PsrConformanceTest.php testi, paketin yalnızca PSR sözleşmelerine bağlı olduğunu, somut bir istemciye bağlı olmadığını doğrular.

Worker’a erişilemediğinde ve yedek etkinleştirildiğinde, köprü işlemeyi yerel bir işleyiciye devredebilir. Bu işleyiciyi NextPDF\Cloudflare\Contract\LocalRendererFactoryInterface aracılığıyla sağlarsınız. suggest bloğu birinci taraf uygulamayı belirtir; bu blok composer.json dosyasında bulunur:

Terminal window
composer require nextpdf/artisan

Yalnızca nextpdf/artisan paketini kurmak tek başına yeterli değildir. Ayrıca işleyici yapıcısına bir LocalRendererFactoryInterface geçirmeniz gerekir. Artisan kuruluysa ancak hiçbir fabrika bağlanmamışsa, köprü bu durumu algılar ve bir CloudflareNotAvailableException oluşturur. İstisna iletisi tam olarak bunu belirtir. Bağlama adımları için /integrations/cloudflare/production-usage/ sayfasına bakın.

<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use NextPDF\Cloudflare\CloudflareRendererConfig;
$config = new CloudflareRendererConfig(
workerUrl: 'https://pdf-renderer.example.workers.dev/render',
apiToken: 'placeholder',
);
echo $config->isValid() ? "ready\n" : "incomplete\n";

isValid(), true değerini yalnızca hem workerUrl hem de apiToken boş olmadığında döndürür. Ağa erişmez. Yalnızca yapılandırma bütünlüğünü denetler; bu nedenle dağıtım sırasında duman testi olarak kullanabilirsiniz.

  • /integrations/cloudflare/configuration/ — tüm yapılandırma seçenekleri.
  • /integrations/cloudflare/quickstart/ — ilk işlemenizi çalıştırın.
  • /integrations/cloudflare/boot-and-discovery/ — köprüyü bir çerçeve konteynerine bağlayın.