Enterprise edisi
Common
Sekilas pandang
Bagian berjudul “Sekilas pandang”NextPDF Enterprise menyertakan sekumpulan kecil primitif bersama yang dipakai ulang di seluruh modul Enterprise. Yang pertama adalah bounding box ternormalisasi untuk pemosisian spasial yang independen-resolusi. Ini adalah value object tanpa perilaku kepatuhan, kesesuaian, atau kriptografi.
Ketersediaan & lisensi
Bagian berjudul “Ketersediaan & lisensi”Kapabilitas ini disertakan dalam NextPDF Enterprise (nextpdf/enterprise) dan diaktifkan dengan envelope lisensi tingkat-Enterprise. Deployment tanpa entitlement tersebut tidak memuat kelas-kelas kapabilitas ini. Bandingkan edisi dan dapatkan lisensi.
Paket Enterprise dipasang di samping paket Core; primitif bersama ini dikonsumsi secara internal oleh modul Enterprise lainnya dan ter-resolve bersama paketnya. Primitif ini tidak memiliki padanan tingkat-Core maupun tingkat-Pro.
Pasang
Bagian berjudul “Pasang”composer require nextpdf/enterprise:^3Tinjauan konseptual
Bagian berjudul “Tinjauan konseptual”BoundingBox adalah value object imutabel yang keempat koordinatnya — x, y, width, height — dinormalisasi ke rentang [0.0, 1.0] relatif terhadap dimensi halaman. Karena koordinatnya dinormalisasi, box bersifat independen-resolusi dan dapat dipakai ulang di seluruh modul Enterprise yang menalar geometri halaman. Konstruktor memvalidasi bahwa setiap koordinat berada dalam rentang dan bahwa x + width serta y + height tidak melebihi 1.0 (dalam toleransi titik-mengambang kecil), dan memunculkan galat argumen jika tidak.
Ia memaparkan area(), contains(self $other), dan overlaps(self $other). Box berluas-nol (titik atau garis degenerat) tidak dapat saling tumpang-tindih menurut definisi.
Apa yang ditegaskan modul ini
Bagian berjudul “Apa yang ditegaskan modul ini”Modul ini menyediakan primitif geometri tervalidasi. Modul ini tidak membuat klaim kepatuhan atau kesesuaian dan tidak melakukan I/O.
Batas tingkat
Bagian berjudul “Batas tingkat”Common adalah permukaan dukungan khusus-Enterprise yang dikonsumsi oleh modul Enterprise lainnya. Modul ini tidak menduplikasi atau menggantikan geometri Core; modul ini menyediakan primitif kecil tervalidasi yang dibagikan oleh modul-modul Enterprise.
Mengapa bekerja seperti ini
Bagian berjudul “Mengapa bekerja seperti ini”Keputusan penopang adalah menormalisasi setiap koordinat ke rentang [0.0, 1.0] dan memvalidasinya di dalam konstruktor. Koordinat ternormalisasi membuat box menjadi independen-resolusi, sehingga sebuah region yang dideskripsikan sekali tetap benar pada ukuran halaman atau skala render apa pun. Konstruksi yang fail-closed berarti box yang tidak valid atau meluap tidak dapat eksis: konstruktor menolaknya, bukan menjepit (clamp) atau menebak. Karena itu modul Enterprise yang mengonsumsi tidak pernah memeriksa ulang geometri yang mereka terima, sebab box yang telah dikonstruksi sudah diketahui valid. Imutabilitas menjaga sebuah box bersama tetap aman untuk dilewatkan antarmodul tanpa salinan defensif.
Latar belakang desain: API yang menolak menebak.
Permukaan API
Bagian berjudul “Permukaan API”| Class | Tanggung jawab |
|---|---|
BoundingBox | Box ternormalisasi imutabel; area(), contains(), overlaps(). |
Contoh kode — Mulai cepat
Bagian berjudul “Contoh kode — Mulai cepat”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));Contoh kode — Produksi
Bagian berjudul “Contoh kode — Produksi”$region = new BoundingBox($x, $y, $w, $h); // throws on out-of-range input
if ($region->overlaps($redactionZone)) { $logger->info('common.overlap', ['area' => $region->area()]);}Kasus tepi & jebakan
Bagian berjudul “Kasus tepi & jebakan”- Mengonstruksi dengan koordinat mana pun di luar
[0.0, 1.0], atau denganx + width/y + heightmelebihi 1.0, memunculkan galat argumen — validasi masukan di hulu. - Box berluas-nol tidak pernah saling tumpang-tindih; perhitungkan itu saat menghitung perpotongan.
- Koordinat dinormalisasi, bukan piksel; konversikan pada batas perenderan.
Kinerja
Bagian berjudul “Kinerja”Semua operasi adalah aritmetika waktu-konstan pada empat float.
Catatan keamanan
Bagian berjudul “Catatan keamanan”BoundingBox tidak melakukan I/O dan tidak menyimpan konten dokumen. Konstruktor menolak geometri di luar rentang, mencegah nilai degenerat merambat ke modul yang mengonsumsinya.
Residensi data & mitigasi PII
Bagian berjudul “Residensi data & mitigasi PII”Modul ini tidak menyimpan data pribadi dan tidak melakukan persistensi atau I/O jaringan. Pertimbangan residensi tidak berlaku.
Telemetri aman & pembersihan log
Bagian berjudul “Telemetri aman & pembersihan log”Koordinat dan luas box adalah geometri non-sensitif dan aman untuk dicatat.
Kesesuaian
Bagian berjudul “Kesesuaian”Modul ini tidak mengimplementasikan standar normatif apa pun dan tidak membuat klaim kesesuaian. Ini adalah primitif geometri.
Perilaku mode-FIPS
Bagian berjudul “Perilaku mode-FIPS”Modul ini tidak melakukan operasi kriptografi; mode FIPS tidak berlaku.
Model ancaman
Bagian berjudul “Model ancaman”Satu-satunya masukan adalah empat float. Validasi rentang dan batas pada konstruktor adalah mitigasinya: geometri tidak valid tidak dapat dikonstruksi.
Kontrak perilaku
Bagian berjudul “Kontrak perilaku”BoundingBoxadalah value object imutabel yang keempat koordinatnya dinormalisasi ke rentang[0.0, 1.0]relatif terhadap dimensi halaman, sehingga independen-resolusi.- Konstruktor memvalidasi bahwa setiap koordinat berada dalam rentang dan bahwa
x + widthsertay + heighttidak melebihi 1.0 (dalam toleransi titik-mengambang kecil), dan memunculkan galat argumen jika tidak. - Ia memaparkan
area(),contains(), danoverlaps(); box berluas-nol tidak pernah saling tumpang-tindih menurut definisi. - Modul ini tidak melakukan I/O, tidak menyimpan konten dokumen, dan tidak membuat klaim kepatuhan atau kesesuaian.
Batas publikasi
Bagian berjudul “Batas publikasi”Halaman ini hanya mendokumentasikan perilaku yang dapat diamati secara eksternal dan permukaan API publik yang didukung. Path namespace internal, kelas helper, tabel mekanisme, nama berkas runbook, dan prefiks tiket berada di luar cakupan.
Fallback Core
Bagian berjudul “Fallback Core”Fallback Core — tidak ada; ini adalah primitif dukungan bersama khusus-Enterprise. Modul ini tidak menduplikasi atau menggantikan geometri Core dan tidak memiliki padanan tingkat-Core.
Fallback Pro
Bagian berjudul “Fallback Pro”Fallback Pro — tidak ada; kapabilitas ini tidak memiliki padanan tingkat-Pro. Primitif BoundingBox bersama disertakan hanya dalam paket nextpdf/enterprise.
Catatan batas Enterprise
Bagian berjudul “Catatan batas Enterprise”Primitif geometri tervalidasi dijelaskan pada tingkat perilaku. Ini adalah permukaan dukungan khusus-Enterprise yang dikonsumsi oleh modul Enterprise lainnya; tidak ada sub-mekanisme internal di luar kontrak yang didokumentasikan.
Batas penerapan
Bagian berjudul “Batas penerapan”Batas penerapan — tidak ada yang berlaku; modul ini tidak melakukan persistensi, tidak melakukan I/O jaringan, dan tidak menyimpan konten dokumen atau data pribadi. Tidak ada sumber daya milik operator untuk permukaan ini.
Batas kepatuhan hukum
Bagian berjudul “Batas kepatuhan hukum”Tidak ada pembatasan kontrol-ekspor yang berlaku pada permukaan ini. Modul ini tidak mengimplementasikan standar normatif apa pun dan tidak membuat klaim kesesuaian, sertifikasi, atau regulasi. Dokumentasi ini bukan opini hukum.
Lihat juga
Bagian berjudul “Lihat juga”- Validation — mengonsumsi primitif bersama.
- Evidence — mengonsumsi primitif bersama.
- Common — Deep Reference — referensi mendalam untuk primitif bersama.