Przejdź do głównej zawartości

Instalacja mostka NextPDF Cloudflare

Zainstaluj pakiet za pomocą Composera. Następnie dodaj klienta protokołu Hypertext Transfer Protocol (HTTP) zgodnego ze standardem PHP Standard Recommendation 18 (PSR-18) oraz fabryki zgodne z PSR-17. Mostek deklaruje interfejsy; nie dostarcza konkretnego klienta HTTP.

Mostek deklaruje następujące zależności w sekcji require pliku composer.json:

ZależnośćOgraniczenie
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

Pakiet automatycznie ładuje przestrzeń nazw NextPDF\Cloudflare\ z katalogu src/Cloudflare/ (PSR-4). Przechodzi analizę statyczną na poziomie PHPStan Level 10 i nie zawiera pliku baseline analizatora.

Okno terminala
composer require nextpdf/cloudflare

Konstruktor mostka wymaga interfejsu ClientInterface zgodnego z PSR-18, interfejsu RequestFactoryInterface zgodnego z PSR-17 oraz interfejsu StreamFactoryInterface zgodnego z PSR-17. Wariant z przypiętym transportem korzysta dodatkowo z interfejsu ResponseFactoryInterface zgodnego z PSR-17, jeśli go udostępnisz. Możesz użyć dowolnej zgodnej implementacji. Plik README wymienia Guzzle jako jeden z przykładów:

Okno terminala
composer require guzzlehttp/guzzle

Guzzle 7 udostępnia klienta PSR-18 oraz wszystkie cztery interfejsy fabryk PSR-17. Działają także Symfony HttpClient, Buzz oraz inne zgodne stosy. Pakiet jest z założenia niezależny od dostawcy. Test tests/Unit/Architecture/PsrConformanceTest.php sprawdza, że pakiet zależy wyłącznie od kontraktów PSR, a nie od konkretnego klienta.

Gdy Worker jest niedostępny, a mechanizm awaryjny jest włączony, mostek może oddelegować renderowanie do lokalnego renderera. Taki renderer udostępnia się poprzez NextPDF\Cloudflare\Contract\LocalRendererFactoryInterface. Blok suggest w pliku composer.json wskazuje implementację dostarczaną przez producenta:

Okno terminala
composer require nextpdf/artisan

Sama instalacja nextpdf/artisan nie wystarczy. Musisz także przekazać LocalRendererFactoryInterface do konstruktora renderera. Jeśli Artisan jest zainstalowany, ale żadna fabryka nie została podłączona, mostek wykrywa ten stan i zgłasza CloudflareNotAvailableException. Komunikat wyjątku wskazuje to wprost. Sposób podłączenia opisano w /integrations/cloudflare/production-usage/.

<?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() zwraca true, gdy zarówno workerUrl, jak i apiToken są niepuste. Nie nawiązuje połączenia sieciowego. Sprawdza wyłącznie kompletność konfiguracji, więc nadaje się jako test dymny podczas wdrażania.

  • /integrations/cloudflare/configuration/ — wszystkie opcje konfiguracji.
  • /integrations/cloudflare/quickstart/ — uruchom pierwsze renderowanie.
  • /integrations/cloudflare/boot-and-discovery/ — podłącz mostek do kontenera frameworka.