Enterprise รุ่น
Common
โดยสรุป
หัวข้อที่มีชื่อว่า “โดยสรุป”NextPDF Enterprise มาพร้อมชุดพรีมิทีฟที่ใช้ร่วมกันขนาดเล็กซึ่งใช้ซ้ำข้ามโมดูล Enterprise พรีมิทีฟแรกคือกล่องขอบเขตที่ถูกทำให้เป็นค่ามาตรฐานสำหรับการวางตำแหน่งเชิงพื้นที่ที่ไม่ขึ้นกับความละเอียด เหล่านี้คือ value object ที่ไม่มีพฤติกรรมด้านการปฏิบัติตามข้อกำหนด การเป็นไปตามมาตรฐาน หรือการเข้ารหัสลับ
ความพร้อมใช้งานและการอนุญาต
หัวข้อที่มีชื่อว่า “ความพร้อมใช้งานและการอนุญาต”ความสามารถนี้มาในแพ็กเกจ NextPDF Enterprise (nextpdf/enterprise) และเปิดใช้งานด้วยซองสิทธิ์ใช้งานระดับ Enterprise การปรับใช้ที่ไม่มีสิทธิ์ดังกล่าวจะไม่โหลดคลาสของความสามารถนี้ เปรียบเทียบรุ่นและขอรับสิทธิ์ใช้งาน
แพ็กเกจ Enterprise ติดตั้งอยู่ข้างแพ็กเกจ Core พรีมิทีฟที่ใช้ร่วมกันเหล่านี้ถูกใช้ภายในโดยโมดูล Enterprise อื่นและถูกผูกเข้ามาพร้อมแพ็กเกจ ไม่มีสิ่งเทียบเท่าในระดับชั้น Core หรือ Pro
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”composer require nextpdf/enterprise:^3ภาพรวมเชิงแนวคิด
หัวข้อที่มีชื่อว่า “ภาพรวมเชิงแนวคิด”BoundingBox คือ value object ที่ไม่เปลี่ยนรูปซึ่งพิกัดทั้งสี่ของมัน ได้แก่ x, y, width, height ถูกทำให้เป็นค่ามาตรฐานในช่วง [0.0, 1.0] สัมพัทธ์กับขนาดของหน้า เนื่องจากพิกัดถูกทำให้เป็นค่ามาตรฐาน กล่องจึงไม่ขึ้นกับความละเอียดและสามารถใช้ซ้ำข้ามโมดูล Enterprise ที่ให้เหตุผลเกี่ยวกับเรขาคณิตของหน้า คอนสตรัคเตอร์ตรวจสอบว่าทุกพิกัดอยู่ในช่วงและ x + width กับ y + height ไม่เกิน 1.0 (ภายในค่าความคลาดเคลื่อนของจุดลอยตัวเล็กน้อย) มิฉะนั้นยกข้อผิดพลาดอาร์กิวเมนต์
มันเปิดเผย area() contains(self $other) และ overlaps(self $other) กล่องที่มีพื้นที่เป็นศูนย์ (จุดหรือเส้นที่เสื่อม) ไม่สามารถซ้อนทับได้ตามนิยาม
โมดูลนี้ยืนยันอะไร
หัวข้อที่มีชื่อว่า “โมดูลนี้ยืนยันอะไร”โมดูลนี้ มอบพรีมิทีฟเรขาคณิตที่ตรวจสอบความถูกต้องแล้ว ไม่มีการกล่าวอ้างการปฏิบัติตามข้อกำหนดหรือการเป็นไปตามมาตรฐานและไม่ทำ I/O ใด ๆ
ขอบเขตของระดับชั้น
หัวข้อที่มีชื่อว่า “ขอบเขตของระดับชั้น”Common เป็นพื้นผิวสนับสนุนเฉพาะ Enterprise ที่โมดูล Enterprise อื่นใช้งาน ไม่ทำซ้ำหรือแทนที่เรขาคณิตของ Core แต่มอบพรีมิทีฟขนาดเล็กที่ตรวจสอบความถูกต้องแล้วซึ่งโมดูล Enterprise ใช้ร่วมกัน
เหตุใดจึงทำงานเช่นนี้
หัวข้อที่มีชื่อว่า “เหตุใดจึงทำงานเช่นนี้”การตัดสินใจที่สำคัญคือการทำให้ทุกพิกัดเป็นค่ามาตรฐานในช่วง [0.0, 1.0] และตรวจสอบความถูกต้องในคอนสตรัคเตอร์ พิกัดที่ถูกทำให้เป็นค่ามาตรฐานทำให้กล่องไม่ขึ้นกับความละเอียด ดังนั้นบริเวณที่อธิบายไว้ครั้งเดียวจึงยังคงถูกต้องที่ขนาดหน้าหรือสเกลการเรนเดอร์ใด ๆ การสร้างแบบ fail-closed หมายความว่ากล่องที่ไม่ถูกต้องหรือล้นขอบเขตไม่สามารถมีอยู่ได้ คอนสตรัคเตอร์ปฏิเสธมันแทนที่จะหนีบค่าหรือเดา โมดูล Enterprise ที่ใช้งานจึงไม่ต้องตรวจสอบเรขาคณิตที่ได้รับซ้ำ เพราะกล่องที่ถูกสร้างแล้วเป็นที่ทราบแล้วว่าถูกต้อง ความไม่เปลี่ยนรูปทำให้กล่องที่ใช้ร่วมกันปลอดภัยที่จะส่งผ่านระหว่างโมดูลโดยไม่ต้องคัดลอกเพื่อป้องกัน
ที่มาของการออกแบบ: API ที่ปฏิเสธการเดา
พื้นผิว API
หัวข้อที่มีชื่อว่า “พื้นผิว API”| คลาส | ความรับผิดชอบ |
|---|---|
BoundingBox | กล่องที่ถูกทำให้เป็นค่ามาตรฐานและไม่เปลี่ยนรูป area(), contains(), overlaps() |
ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว”use NextPDF\Enterprise\Common\BoundingBox;
$box = new BoundingBox(0.1, 0.1, 0.5, 0.2);$inside = $box->contains(new BoundingBox(0.2, 0.15, 0.1, 0.02));ตัวอย่างโค้ด — การใช้งานจริง
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — การใช้งานจริง”$region = new BoundingBox($x, $y, $w, $h); // throws on out-of-range input
if ($region->overlaps($redactionZone)) { $logger->info('common.overlap', ['area' => $region->area()]);}กรณีขอบเขตและข้อควรระวัง
หัวข้อที่มีชื่อว่า “กรณีขอบเขตและข้อควรระวัง”- การสร้างด้วยพิกัดใดที่อยู่นอก
[0.0, 1.0]หรือด้วยx + width/y + heightเกิน 1.0 จะยกข้อผิดพลาดอาร์กิวเมนต์ ให้ตรวจสอบความถูกต้องของอินพุตที่ต้นทาง - กล่องที่มีพื้นที่เป็นศูนย์ไม่เคยซ้อนทับ ให้คำนึงถึงสิ่งนั้นเมื่อคำนวณจุดตัด
- พิกัดถูกทำให้เป็นค่ามาตรฐาน ไม่ใช่พิกเซล ให้แปลงที่ขอบเขตการแสดงผล
ประสิทธิภาพ
หัวข้อที่มีชื่อว่า “ประสิทธิภาพ”การดำเนินการทั้งหมดเป็นเลขคณิตแบบเวลาคงที่บนจุดลอยตัวสี่ค่า
หมายเหตุด้านความปลอดภัย
หัวข้อที่มีชื่อว่า “หมายเหตุด้านความปลอดภัย”BoundingBox ไม่ทำ I/O และไม่เก็บเนื้อหาเอกสาร คอนสตรัคเตอร์ปฏิเสธเรขาคณิตที่อยู่นอกช่วง ป้องกันค่าที่เสื่อมไม่ให้แพร่ไปยังโมดูลที่ใช้งาน
ถิ่นที่อยู่ของข้อมูลและการลดความเสี่ยงด้าน PII
หัวข้อที่มีชื่อว่า “ถิ่นที่อยู่ของข้อมูลและการลดความเสี่ยงด้าน PII”โมดูลนี้ไม่เก็บข้อมูลส่วนบุคคลและไม่ทำการคงสภาพหรือ I/O ผ่านเครือข่าย ข้อพิจารณาด้านถิ่นที่อยู่ไม่มีผล
การรายงานข้อมูลที่ปลอดภัยและการขัดล้างบันทึก
หัวข้อที่มีชื่อว่า “การรายงานข้อมูลที่ปลอดภัยและการขัดล้างบันทึก”พิกัดและพื้นที่ของกล่องเป็นเรขาคณิตที่ไม่อ่อนไหวและปลอดภัยที่จะบันทึกในล็อก
การเป็นไปตามข้อกำหนด
หัวข้อที่มีชื่อว่า “การเป็นไปตามข้อกำหนด”โมดูลนี้ไม่นำมาตรฐานเชิงบรรทัดฐานใดมาใช้และไม่กล่าวอ้างการเป็นไปตามมาตรฐาน เป็นพรีมิทีฟเรขาคณิต
พฤติกรรมในโหมด FIPS
หัวข้อที่มีชื่อว่า “พฤติกรรมในโหมด FIPS”โมดูลนี้ไม่ดำเนินการเชิงการเข้ารหัสลับใด ๆ โหมด FIPS ไม่มีผล
แบบจำลองภัยคุกคาม
หัวข้อที่มีชื่อว่า “แบบจำลองภัยคุกคาม”อินพุตเพียงอย่างเดียวคือจุดลอยตัวสี่ค่า การตรวจสอบความถูกต้องของช่วงและขอบเขตของคอนสตรัคเตอร์คือมาตรการลดความเสี่ยง กล่าวคือ เรขาคณิตที่ไม่ถูกต้องไม่สามารถถูกสร้างได้
สัญญาพฤติกรรม
หัวข้อที่มีชื่อว่า “สัญญาพฤติกรรม”BoundingBoxคือ value object ที่ไม่เปลี่ยนรูปซึ่งพิกัดทั้งสี่ของมันถูกทำให้เป็นค่ามาตรฐานในช่วง[0.0, 1.0]สัมพัทธ์กับขนาดของหน้า ทำให้ไม่ขึ้นกับความละเอียด- คอนสตรัคเตอร์ตรวจสอบว่าทุกพิกัดอยู่ในช่วงและ
x + widthกับy + heightไม่เกิน 1.0 (ภายในค่าความคลาดเคลื่อนของจุดลอยตัวเล็กน้อย) มิฉะนั้นยกข้อผิดพลาดอาร์กิวเมนต์ - มันเปิดเผย
area()contains()และoverlaps()กล่องที่มีพื้นที่เป็นศูนย์ไม่เคยซ้อนทับตามนิยาม - โมดูลไม่ทำ I/O ไม่เก็บเนื้อหาเอกสาร และไม่กล่าวอ้างการปฏิบัติตามข้อกำหนดหรือการเป็นไปตามมาตรฐาน
ขอบเขตการเผยแพร่
หัวข้อที่มีชื่อว่า “ขอบเขตการเผยแพร่”หน้านี้บันทึกเฉพาะพฤติกรรมที่สังเกตได้จากภายนอกและพื้นผิว API สาธารณะที่รองรับเท่านั้น พาธเนมสเปซภายใน คลาสตัวช่วย ตารางกลไก ชื่อไฟล์ runbook และคำนำหน้าหมายเลขทิกเก็ตอยู่นอกขอบเขต
ทางเลือกสำรองของ Core
หัวข้อที่มีชื่อว่า “ทางเลือกสำรองของ Core”ทางเลือกสำรองของ Core — ไม่มี นี่คือพรีมิทีฟสนับสนุนที่ใช้ร่วมกันเฉพาะ Enterprise ไม่ทำซ้ำหรือแทนที่เรขาคณิตของ Core และไม่มีสิ่งเทียบเท่าในระดับชั้น Core
ทางเลือกสำรองของ Pro
หัวข้อที่มีชื่อว่า “ทางเลือกสำรองของ Pro”ทางเลือกสำรองของ Pro — ไม่มี ความสามารถนี้ไม่มีสิ่งเทียบเท่าในระดับชั้น Pro พรีมิทีฟ BoundingBox ที่ใช้ร่วมกันมาในแพ็กเกจ nextpdf/enterprise เท่านั้น
หมายเหตุขอบเขตของ Enterprise
หัวข้อที่มีชื่อว่า “หมายเหตุขอบเขตของ Enterprise”พรีมิทีฟเรขาคณิตที่ตรวจสอบความถูกต้องแล้วได้รับการอธิบายในระดับพฤติกรรม เป็นพื้นผิวสนับสนุนเฉพาะ Enterprise ที่โมดูล Enterprise อื่นใช้งาน ไม่มีกลไกย่อยภายในใดนอกเหนือจากสัญญาที่บันทึกไว้
ขอบเขตการปรับใช้
หัวข้อที่มีชื่อว่า “ขอบเขตการปรับใช้”ขอบเขตการปรับใช้ — ไม่มีที่มีผล โมดูลนี้ไม่ทำการคงสภาพ ไม่ทำ I/O ผ่านเครือข่าย และไม่เก็บเนื้อหาเอกสารหรือข้อมูลส่วนบุคคลใด ไม่มีทรัพยากรที่ผู้ปฏิบัติงานเป็นเจ้าของสำหรับพื้นผิวนี้
ขอบเขตการปฏิบัติตามข้อกำหนดทางกฎหมาย
หัวข้อที่มีชื่อว่า “ขอบเขตการปฏิบัติตามข้อกำหนดทางกฎหมาย”ไม่มีข้อจำกัดด้านการควบคุมการส่งออกที่มีผลกับพื้นผิวนี้ โมดูลไม่นำมาตรฐานเชิงบรรทัดฐานใดมาใช้และไม่กล่าวอ้างการเป็นไปตามมาตรฐาน การรับรอง หรือการกำกับดูแลใด ๆ เอกสารนี้ไม่ใช่ความเห็นทางกฎหมาย
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- Validation — ใช้พรีมิทีฟที่ใช้ร่วมกัน
- Evidence — ใช้พรีมิทีฟที่ใช้ร่วมกัน
- Common — Deep Reference — เอกสารอ้างอิงเชิงลึกสำหรับพรีมิทีฟที่ใช้ร่วมกัน