安装 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/cloudflare加入 HTTP 客户端与工厂
标题为“加入 HTTP 客户端与工厂”的章节此桥接器的构造函数需要一个 PSR-18 ClientInterface、一个 PSR-17 RequestFactoryInterface,以及一个 PSR-17 StreamFactoryInterface。如有提供,固定传输路径还会使用一个 PSR-17 ResponseFactoryInterface。任何符合规范的实现都可以使用。README 以 Guzzle 作为示例之一:
composer require guzzlehttp/guzzleGuzzle 7 提供全部四个 PSR-17 工厂接口以及 PSR-18 客户端。Symfony HttpClient、Buzz 以及其他符合规范的技术栈也同样适用。此包在设计上就与供应商无关。tests/Unit/Architecture/PsrConformanceTest.php 测试会断言此包仅依赖于 PSR 契约,而不依赖于任何具体的客户端。
可选:本地 Chrome 回退
标题为“可选:本地 Chrome 回退”的章节当 Worker 不可访问且已启用回退时,此桥接器可以委托本地渲染器处理。你需要通过 NextPDF\Cloudflare\Contract\LocalRendererFactoryInterface 提供该渲染器。suggest 块(位于 composer.json 中)指明了第一方实现:
composer require nextpdf/artisan仅安装 nextpdf/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() 会返回 true——前提是 workerUrl 和 apiToken 两者都非空。它不会发起网络连接。这只是一项配置完整性检查,适合用于部署时的冒烟测试。
另请参阅
标题为“另请参阅”的章节- /integrations/cloudflare/configuration/ — 完整的配置接口。
- /integrations/cloudflare/quickstart/ — 你的第一次渲染。
- /integrations/cloudflare/boot-and-discovery/ — 将此桥接器接入框架容器。