Enterprise phiên bản
Common
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”NextPDF Enterprise đi kèm một bộ nhỏ các nguyên hàm dùng chung được tái sử dụng xuyên suốt các module Enterprise. Nguyên hàm đầu tiên là một hộp bao đã chuẩn hóa cho việc định vị không gian độc lập với độ phân giải. Đây là các value object không có hành vi tuân thủ, phù hợp tiêu chuẩn, hay mã hóa nào.
Tính khả dụng & cấp phép
Phần tiêu đề “Tính khả dụng & cấp phép”Năng lực này đi kèm trong NextPDF Enterprise (nextpdf/enterprise) và được kích hoạt bằng một phong bì giấy phép bậc Enterprise. Một bản triển khai không có quyền đó sẽ không nạp các lớp của năng lực này. So sánh các phiên bản và nhận giấy phép.
Gói Enterprise được cài đặt bên cạnh gói Core; các nguyên hàm dùng chung này được các module Enterprise khác dùng nội bộ và được phân giải cùng với gói. Chúng không có phương án tương đương ở bậc Core hay bậc Pro.
Cài đặt
Phần tiêu đề “Cài đặt”composer require nextpdf/enterprise:^3Tổng quan khái niệm
Phần tiêu đề “Tổng quan khái niệm”BoundingBox là một value object bất biến mà bốn tọa độ của nó — x, y, width, height — được chuẩn hóa về khoảng [0.0, 1.0] tương đối với kích thước trang. Vì các tọa độ được chuẩn hóa, hộp này độc lập với độ phân giải và có thể được tái sử dụng xuyên suốt các module Enterprise vốn suy luận về hình học trang. Bộ khởi tạo xác thực rằng mọi tọa độ đều nằm trong khoảng và rằng x + width và y + height không vượt quá 1.0 (trong một dung sai dấu phẩy động nhỏ), nếu không sẽ phát sinh một lỗi đối số.
Nó phơi bày area(), contains(self $other), và overlaps(self $other). Các hộp diện tích bằng không (điểm hay đường suy biến) theo định nghĩa không thể chồng lấn.
Module này khẳng định những gì
Phần tiêu đề “Module này khẳng định những gì”Module này cung cấp các nguyên hàm hình học đã được xác thực. Nó không đưa ra tuyên bố tuân thủ hay phù hợp tiêu chuẩn nào và không thực hiện I/O nào.
Ranh giới giữa các bậc
Phần tiêu đề “Ranh giới giữa các bậc”Common là một bề mặt hỗ trợ chỉ dành cho Enterprise mà các module Enterprise khác dùng. Nó không trùng lặp hay thay thế hình học của Core; nó cung cấp các nguyên hàm nhỏ, đã được xác thực mà các module Enterprise dùng chung.
Vì sao nó hoạt động theo cách này
Phần tiêu đề “Vì sao nó hoạt động theo cách này”Quyết định cốt yếu là chuẩn hóa mọi tọa độ về khoảng [0.0, 1.0] và xác thực nó trong bộ khởi tạo. Các tọa độ đã chuẩn hóa khiến hộp độc lập với độ phân giải, nên một vùng được mô tả một lần vẫn đúng ở bất kỳ kích thước trang hay tỷ lệ kết xuất nào. Việc dựng theo kiểu fail-closed nghĩa là một hộp không hợp lệ hoặc tràn không thể tồn tại: bộ khởi tạo từ chối nó thay vì kẹp giá trị hay phỏng đoán. Do đó các module Enterprise tiêu thụ không bao giờ phải kiểm tra lại hình học mà chúng nhận được, vì một hộp đã được dựng thì đã biết là hợp lệ. Tính bất biến giữ cho một hộp dùng chung an toàn để truyền giữa các module mà không cần bản sao phòng vệ.
Bối cảnh thiết kế: Một API từ chối phỏng đoán.
Bề mặt API
Phần tiêu đề “Bề mặt API”| Lớp | Trách nhiệm |
|---|---|
BoundingBox | Hộp đã chuẩn hóa bất biến; area(), contains(), overlaps(). |
Mẫu mã — Bắt đầu nhanh
Phần tiêu đề “Mẫu mã — Bắt đầu nhanh”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));Mẫu mã — Sản phẩm
Phần tiêu đề “Mẫu mã — Sản phẩm”$region = new BoundingBox($x, $y, $w, $h); // throws on out-of-range input
if ($region->overlaps($redactionZone)) { $logger->info('common.overlap', ['area' => $region->area()]);}Trường hợp biên & điều cần lưu ý
Phần tiêu đề “Trường hợp biên & điều cần lưu ý”- Việc dựng với bất kỳ tọa độ nào nằm ngoài
[0.0, 1.0], hoặc vớix + width/y + heightvượt quá 1.0, sẽ phát sinh một lỗi đối số — hãy xác thực các đầu vào ở phía trên. - Các hộp diện tích bằng không không bao giờ chồng lấn; hãy tính đến điều đó khi tính các giao điểm.
- Tọa độ được chuẩn hóa, không phải pixel; hãy chuyển đổi tại ranh giới kết xuất.
Hiệu năng
Phần tiêu đề “Hiệu năng”Mọi thao tác đều là số học thời gian hằng số trên bốn số float.
Lưu ý bảo mật
Phần tiêu đề “Lưu ý bảo mật”BoundingBox không thực hiện I/O nào và không giữ nội dung tài liệu nào. Bộ khởi tạo từ chối hình học ngoài khoảng, ngăn các giá trị suy biến lan truyền vào các module tiêu thụ.
Lưu trú dữ liệu & biện pháp giảm thiểu PII
Phần tiêu đề “Lưu trú dữ liệu & biện pháp giảm thiểu PII”Module này không giữ dữ liệu cá nhân nào và không thực hiện lưu trữ bền vững hay I/O mạng nào. Các cân nhắc về lưu trú không áp dụng.
Đo từ xa an toàn & làm sạch nhật ký
Phần tiêu đề “Đo từ xa an toàn & làm sạch nhật ký”Tọa độ và diện tích của hộp là hình học không nhạy cảm và an toàn để ghi nhật ký.
Tính phù hợp
Phần tiêu đề “Tính phù hợp”Module này không triển khai tiêu chuẩn quy phạm nào và không đưa ra tuyên bố phù hợp tiêu chuẩn nào. Nó là một nguyên hàm hình học.
Hành vi ở chế độ FIPS
Phần tiêu đề “Hành vi ở chế độ FIPS”Module này không thực hiện thao tác mã hóa nào; chế độ FIPS không áp dụng.
Mô hình mối đe dọa
Phần tiêu đề “Mô hình mối đe dọa”Đầu vào duy nhất là bốn số float. Việc xác thực khoảng và biên của bộ khởi tạo là biện pháp giảm thiểu: không thể dựng hình học không hợp lệ.
Hợp đồng hành vi
Phần tiêu đề “Hợp đồng hành vi”BoundingBoxlà một value object bất biến mà bốn tọa độ của nó được chuẩn hóa về khoảng[0.0, 1.0]tương đối với kích thước trang, khiến nó độc lập với độ phân giải.- Bộ khởi tạo xác thực rằng mọi tọa độ đều nằm trong khoảng và rằng
x + widthvày + heightkhông vượt quá 1.0 (trong một dung sai dấu phẩy động nhỏ), nếu không sẽ phát sinh một lỗi đối số. - Nó phơi bày
area(),contains(), vàoverlaps(); các hộp diện tích bằng không theo định nghĩa không bao giờ chồng lấn. - Module không thực hiện I/O nào, không giữ nội dung tài liệu nào, và không đưa ra tuyên bố tuân thủ hay phù hợp tiêu chuẩn nào.
Ranh giới công bố
Phần tiêu đề “Ranh giới công bố”Trang này chỉ ghi tài liệu về hành vi có thể quan sát được từ bên ngoài và bề mặt API công khai được hỗ trợ. Các đường dẫn namespace nội bộ, lớp trợ giúp, bảng cơ chế, tên tệp runbook, và tiền tố ticket đều nằm ngoài phạm vi.
Phương án dự phòng Core
Phần tiêu đề “Phương án dự phòng Core”Phương án dự phòng Core — không có; đây là một nguyên hàm hỗ trợ dùng chung chỉ dành cho Enterprise. Nó không trùng lặp hay thay thế hình học của Core và không có phương án tương đương ở bậc Core.
Phương án dự phòng Pro
Phần tiêu đề “Phương án dự phòng Pro”Phương án dự phòng Pro — không có; năng lực này không có phương án tương đương ở bậc Pro. Nguyên hàm BoundingBox dùng chung chỉ đi kèm trong gói nextpdf/enterprise.
Lưu ý về ranh giới Enterprise
Phần tiêu đề “Lưu ý về ranh giới Enterprise”Nguyên hàm hình học đã được xác thực được mô tả ở mức hành vi. Nó là một bề mặt hỗ trợ chỉ dành cho Enterprise mà các module Enterprise khác dùng; không có cơ chế con nội bộ nào ngoài hợp đồng đã được ghi tài liệu.
Ranh giới triển khai
Phần tiêu đề “Ranh giới triển khai”Ranh giới triển khai — không có gì áp dụng; module này không thực hiện lưu trữ bền vững, không I/O mạng, và không giữ nội dung tài liệu hay dữ liệu cá nhân nào. Không có tài nguyên nào do người vận hành sở hữu cho bề mặt này.
Ranh giới tuân thủ pháp lý
Phần tiêu đề “Ranh giới tuân thủ pháp lý”Không có hạn chế kiểm soát xuất khẩu nào áp dụng cho bề mặt này. Module không triển khai tiêu chuẩn quy phạm nào và không đưa ra tuyên bố phù hợp tiêu chuẩn, chứng nhận, hay quy định nào. Tài liệu này không phải là một ý kiến pháp lý.
Xem thêm
Phần tiêu đề “Xem thêm”- Validation — dùng các nguyên hàm dùng chung.
- Evidence — dùng các nguyên hàm dùng chung.
- Common — Deep Reference — tham chiếu sâu cho các nguyên hàm dùng chung.