ติดตั้งบริดจ์ NextPDF Cloudflare
ภาพรวมโดยย่อ
หัวข้อที่มีชื่อว่า “ภาพรวมโดยย่อ”ติดตั้งแพ็กเกจด้วย Composer จากนั้นเพิ่มไคลเอ็นต์ Hypertext Transfer Protocol (HTTP) ที่เป็นไปตาม PHP Standard Recommendation 18 (PSR-18) และแฟกทอรีที่เป็นไปตาม PSR-17 บริดจ์ประกาศอินเทอร์เฟซเหล่านี้ไว้ แต่ไม่ได้รวมไคลเอ็นต์ HTTP ที่เป็นรูปธรรมไว้ให้
ข้อกำหนด
หัวข้อที่มีชื่อว่า “ข้อกำหนด”บริดจ์อ่านดีเพนเดนซีเหล่านี้จากส่วน require ใน composer.json:
| ดีเพนเดนซี | ข้อจำกัดเวอร์ชัน |
|---|---|
| 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 และแฟกทอรี”คอนสตรักเตอร์ของบริดจ์ต้องใช้ ClientInterface ของ PSR-18 หนึ่งตัว RequestFactoryInterface ของ PSR-17 หนึ่งตัว และ StreamFactoryInterface ของ PSR-17 หนึ่งตัว เส้นทางทรานสปอร์ตแบบ pinned ยังใช้ ResponseFactoryInterface ของ PSR-17 หากคุณจัดเตรียมไว้ให้ คุณสามารถใช้การนำไปใช้งานใดก็ได้ที่เป็นไปตามมาตรฐาน โดย README ระบุ Guzzle ไว้เป็นตัวอย่างหนึ่ง:
composer require guzzlehttp/guzzleGuzzle 7 มีไคลเอ็นต์ PSR-18 และแฟกทอรี PSR-17 ครบทั้งสี่อินเทอร์เฟซ 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 ข้อความของ exception ระบุสาเหตุนี้ไว้อย่างชัดเจน ดู /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 ไม่ว่างเปล่าทั้งคู่ เมธอดนี้ไม่ติดต่อเครือข่าย และตรวจสอบเฉพาะความครบถ้วนของการกำหนดค่าเท่านั้น คุณจึงสามารถใช้เป็น smoke test ในช่วงการดีพลอยได้
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- /integrations/cloudflare/configuration/ — ตัวเลือกการกำหนดค่าทั้งหมด
- /integrations/cloudflare/quickstart/ — เรียกใช้การเรนเดอร์ครั้งแรกของคุณ
- /integrations/cloudflare/boot-and-discovery/ — เชื่อมต่อบริดจ์เข้ากับคอนเทนเนอร์ของเฟรมเวิร์ก