NextPDF Cloudflare ブリッジのインストール
Composer でパッケージをインストールします。続いて、PSR-18 の HTTP クライアントと PSR-17 のファクトリ実装を追加します。ブリッジはインターフェイスのみを宣言し、具体的な HTTP クライアントは同梱しません。
ブリッジは、以下を composer.json の require セクションから読み取ります:
| 依存関係 | 制約 |
|---|---|
| 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 |
このパッケージは、NextPDF\Cloudflare\ を src/Cloudflare/ から(PSR-4 で)オートロードします。PHPStan Level 10 の静的解析をパスしており、アナライザーのベースラインは同梱していません。
パッケージのインストール
「パッケージのインストール」という見出しのセクションcomposer require nextpdf/cloudflareHTTP クライアントとファクトリの追加
「HTTP クライアントとファクトリの追加」という見出しのセクションブリッジのコンストラクターには、PSR-18 の ClientInterface、PSR-17 の RequestFactoryInterface、および PSR-17 の StreamFactoryInterface が必要です。固定トランスポート経路でも、指定されている場合は PSR-17 の ResponseFactoryInterface を使用します。仕様に準拠した実装であれば、どれでも動作します。README では一例として Guzzle を挙げています:
composer require guzzlehttp/guzzleGuzzle 7 は、4 つの PSR-17 ファクトリインターフェイスすべてと PSR-18 クライアントを提供します。Symfony HttpClient や Buzz、その他の準拠したスタックも同様に利用できます。このパッケージは設計上、ベンダー非依存です。tests/Unit/Architecture/PsrConformanceTest.php のテストでは、このパッケージが具体的なクライアントではなく PSR 契約のみに依存していることを検証します。
オプション:ローカル Chrome フォールバック
「オプション:ローカル Chrome フォールバック」という見出しのセクションWorker に到達できず、フォールバックが有効になっている場合、ブリッジは処理をローカルレンダラーに委譲できます。そのレンダラーは NextPDF\Cloudflare\Contract\LocalRendererFactoryInterface を介して指定します。composer.json の suggest ブロックには、ファーストパーティの実装が記載されています:
composer require nextpdf/artisannextpdf/artisan をインストールするだけでは不十分です。あわせて、レンダラーのコンストラクターに LocalRendererFactoryInterface を渡す必要があります。ブリッジは、Artisan がインストールされているにもかかわらずファクトリが接続されていない状態を検出します。その場合、その旨を明確に伝えるメッセージを持つ CloudflareNotAvailableException を送出します。配線方法については /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() は、workerUrl と apiToken の両方が空でない場合に true を返します。このメソッドはネットワークに接続しません。これは構成が揃っているかどうかだけを調べる純粋なチェックであり、デプロイ時のスモークテストに適しています。
- /integrations/cloudflare/configuration/ — 設定項目の全体像。
- /integrations/cloudflare/quickstart/ — 最初のレンダリング。
- /integrations/cloudflare/boot-and-discovery/ — フレームワークのコンテナーへのブリッジの組み込み。