Cài đặt cầu nối NextPDF Cloudflare
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”Cài đặt gói bằng Composer. Sau đó thêm một client Hypertext Transfer Protocol (HTTP) hiện thực PHP Standard Recommendation 18 (PSR-18) và các factory hiện thực PSR-17. Cầu nối chỉ khai báo các interface; nó không đóng gói sẵn client HTTP cụ thể nào.
Yêu cầu
Phần tiêu đề “Yêu cầu”Cầu nối đọc các phụ thuộc sau từ phần require của composer.json:
| Phụ thuộc | Ràng buộc |
|---|---|
| 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 |
Gói tự động tải NextPDF\Cloudflare\ từ src/Cloudflare/ (PSR-4). Gói vượt qua phân tích tĩnh ở PHPStan Level 10 và không kèm baseline cho công cụ phân tích.
Cài đặt gói
Phần tiêu đề “Cài đặt gói”composer require nextpdf/cloudflareThêm một client HTTP và các factory
Phần tiêu đề “Thêm một client HTTP và các factory”Hàm khởi tạo của cầu nối yêu cầu một ClientInterface theo PSR-18, một RequestFactoryInterface theo PSR-17 và một StreamFactoryInterface theo PSR-17. Đường truyền tải cố định cũng dùng một ResponseFactoryInterface theo PSR-17 nếu bạn cung cấp. Bạn có thể dùng bất kỳ bản hiện thực tuân thủ nào. README nêu Guzzle làm ví dụ:
composer require guzzlehttp/guzzleGuzzle 7 cung cấp client PSR-18 và cả bốn interface factory PSR-17. Symfony HttpClient, Buzz và các stack tuân thủ khác cũng dùng được. Gói được thiết kế trung lập với nhà cung cấp. Bài kiểm thử tests/Unit/Architecture/PsrConformanceTest.php xác nhận rằng gói chỉ phụ thuộc vào các contract PSR, không phụ thuộc vào bất kỳ client cụ thể nào.
Tùy chọn: phương án dự phòng Chrome cục bộ
Phần tiêu đề “Tùy chọn: phương án dự phòng Chrome cục bộ”Khi không thể kết nối tới Worker và phương án dự phòng được bật, cầu nối có thể ủy thác việc kết xuất cho một renderer cục bộ. Bạn cung cấp renderer đó thông qua NextPDF\Cloudflare\Contract\LocalRendererFactoryInterface. Khối suggest trong composer.json nêu tên bản hiện thực chính thức:
composer require nextpdf/artisanChỉ cài đặt nextpdf/artisan là chưa đủ. Bạn cũng phải truyền một LocalRendererFactoryInterface vào hàm khởi tạo của renderer. Nếu Artisan đã được cài đặt nhưng chưa có factory nào được nối dây, cầu nối sẽ phát hiện trạng thái đó và ném ra một CloudflareNotAvailableException. Thông báo của exception nêu rõ nguyên nhân này. Xem /integrations/cloudflare/production-usage/ để biết cách nối dây.
Xác minh bản cài đặt
Phần tiêu đề “Xác minh bản cài đặt”<?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() trả về true khi cả workerUrl và apiToken đều không rỗng. Nó không kết nối tới mạng. Nó chỉ kiểm tra cấu hình đã đủ thông tin hay chưa, nên bạn có thể dùng nó như một bài smoke test tại thời điểm triển khai.
Xem thêm
Phần tiêu đề “Xem thêm”- /integrations/cloudflare/configuration/ — tất cả tùy chọn cấu hình.
- /integrations/cloudflare/quickstart/ — chạy lần kết xuất đầu tiên của bạn.
- /integrations/cloudflare/boot-and-discovery/ — nối dây cầu nối vào container của framework.