Enterprise sürüm
Sürüm
Bir bakışta
“Bir bakışta” başlıklı bölümNextPDF Enterprise, bir release’i türü belirtilmiş değer nesneleri olarak modeller — bir release bildirimi, yapıt başına bildirimler, derleme profilleri, dağıtım kanalları ve erişim sınırları — ve her yapıtı doğru kanala ve erişim sınırına yönlendiren türetilmiş bir yayımlama planı çıkarır.
Kullanılabilirlik ve lisanslama
“Kullanılabilirlik ve lisanslama” başlıklı bölümBu yetenek NextPDF Enterprise (nextpdf/enterprise) içinde sevk edilir ve bir Enterprise katmanı lisans zarfıyla etkinleşir. Bu yetkilendirmeye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve bir lisans alın.
Kurulum
“Kurulum” başlıklı bölümcomposer require nextpdf/enterprise:^3Kavramsal genel bakış
“Kavramsal genel bakış” başlıklı bölümReleaseManifest, bir sürüm için değişmez en üst düzey belgedir. Anlamsal sürümü, kaynak commit’i, derleme zaman damgasını, yapıt başına bildirimlerin listesini ve isteğe bağlı tedarik zinciri kanıt yollarını (SBOM, GPG imzası, sağlama toplamları) kaydeder. Şema sürümü, eklemeli için minör, bozucu için majör kuralını izler.
ArtifactManifest, derlenmiş bir yapıtı kaydeder: kanonik dosya adı, sürüm, kaynak commit, hedef sürüm, teslim modu, kodlama teknolojisi, dağıtım kanalı, hedef PHP sürümü, SHA-256 özeti, isteğe bağlı kodlama sona erme süresi ve derleme zaman damgası. EncodingTechnology, bir yapıtı kodlamak için kullanılan aracı, yapıtın hiç kodlanıp kodlanmadığından ayırır; bir düz metin yapıtının her zaman None değeri vardır.
DistributionChannel, iki kaygıyı açıkça ayırır: bir yapıt kaynağı (ikili depolama) ve bir paket tüketim katmanı (bir composer require çağrısının okuduğu kayıt defteri). AccessBoundary, bir yapıta kimin erişebileceğini belirler — ücretli müşteriler, süre sınırlı değerlendirme veya asla müşteriye yönelik olmayan dahilî CI/QA/staging — ve her sınır kimlik doğrulaması gerektirir.
PublishingPlan, derleme profillerinden ve release bildiriminden türetilir. Her profil, yayımlama hedeflerine çözümlenir: bir yapıt-kaynağı hedefi ve bir tüketim-katmanı hedefi, doğru erişim sınırı uygulanmış olarak; böylece ücretli ve değerlendirme yapıtları doğru yere yönlendirilir.
Neden bu şekilde çalışır
“Neden bu şekilde çalışır” başlıklı bölümYük taşıyan karar, bir release’i gevşek yapılandırma değil, değişmez türü belirtilmiş değer nesneleri olarak modellemektir. Yapıt kaynağı ve tüketim katmanı, birbirinden farklı enum türünde kaygılardır ve erişim sınırları açıktır. Böylece yanlış yönlendirilmiş bir yapıt — bir müşteri kanalına yerleştirilmiş dahilî bir derleme — sessiz bir üretim hatası değil, bir modelleme hatası olarak ortaya çıkar. Plan, yetkili değil, türetilmiş kalır: amaçlanan hedefleri adlandırır, taşımayı ise release araçlarınız gerçekleştirir. Aynı nesneler Core sözleşmesi aracılığıyla çözümlenir; böylece sürüm yükselten bir tüketici hiçbir çağıran kodu değiştirmez. Bu süreklilik, bir açık çekirdek sınırının amacıdır — bir yeniden yazımı değil, Enterprise yüzeyini satın alırsınız. Tasarım arka planı: Açık çekirdek, kilitlenme yok.
API yüzeyi
“API yüzeyi” başlıklı bölüm| Sınıf | Sorumluluk |
|---|---|
ReleaseManifest | Değişmez en üst düzey release belgesi. |
ArtifactManifest | Yapıt başına meta veri ve doğrulama alanları. |
BuildProfile | Yayımlanacak bir derleme yapılandırması. |
DistributionChannel | Kaynak ve tüketim katmanı kanal enum’u. |
AccessBoundary | Paid / Evaluation / Internal erişim enum’u. |
EncodingTechnology | Kodlama aracı enum’u (örn. kodlanmış / none). |
PublishingPlan / PublishingTarget | Türetilen plan ve hedef başına yönlendirme. |
Kod örneği — Hızlı başlangıç
“Kod örneği — Hızlı başlangıç” başlıklı bölümuse NextPDF\Enterprise\Release\PublishingPlan;
$plan = PublishingPlan::fromProfiles($profiles, '3.1.0');Kod örneği — Üretim
“Kod örneği — Üretim” başlıklı bölümuse NextPDF\Enterprise\Release\PublishingPlan;use NextPDF\Enterprise\Release\PublishingEnvironment;
$plan = PublishingPlan::fromProfiles( $profiles, '3.1.0', PublishingEnvironment::Production,);
foreach ($plan->targets as $target) { $logger->info('release.target', [ 'version' => $plan->version, 'channel' => $target->channel->value, ]);}Uç durumlar ve tuzaklar
“Uç durumlar ve tuzaklar” başlıklı bölüm- Yapıt kaynağı ve tüketim katmanı farklı kanallardır. Kaynak ikiliyi saklar; tüketim katmanı, ona işaret eden meta veriyi sunar. Bir
composer requireçağrısının nerede çözümlendiği hakkında akıl yürütürken bunları birleştirmeyin. - Bir düz metin yapıtı her zaman
EncodingTechnology::Nonebildirir; kodlama-teknolojisi alanı “hangi araç” sorusunu yanıtlar, “korunmuş muydu” sorusunu değil. - Internal erişim sınırı yapıtları asla müşteriye yönelik değildir; bunları bir müşteri kanalına yönlendirmek, bu modelin açıkça görünür kılmak için tasarlandığı bir yapılandırma hatasıdır.
- Yayımlama planı türetilmiştir, taşıma için yetkili değildir — amaçlanan hedefleri betimler; gerçek yükleme, release araçlarınız tarafından gerçekleştirilir.
Performans
“Performans” başlıklı bölümPlan türetme, derleme profili sayısında doğrusaldır ve profil başına az sayıda hedef üretir. Değer nesneleri değişmezdir ve oluşturulması ucuzdur.
Güvenlik notları
“Güvenlik notları” başlıklı bölümRelease bildirimi, tedarik zinciri kanıt yollarını (SBOM, GPG imzası, sağlama toplamları) taşır. Bu modül bu referansları kaydeder ve yönlendirir; kendisi imza üretmez veya köken beyan etmez. Bildirimi, tek başına bir kanıt olarak değil, release işlem hattınız tarafından doğrulanacak meta veri olarak ele alın.
Veri yerleşimi ve PII azaltmaları
“Veri yerleşimi ve PII azaltmaları” başlıklı bölümRelease bildirimleri, kişisel veri değil, derleme ve yapıt meta verisi içerir. Yapıt depolamasına olağan denetimlerinizi uygulayın.
Güvenli telemetri ve günlük temizleme
“Güvenli telemetri ve günlük temizleme” başlıklı bölümRelease günlükleri, imzalama anahtar materyalini veya dahilî depolama yollarını değil, sürümü ve kanalı kaydetmelidir.
Uygunluk
“Uygunluk” başlıklı bölümBu modül için hiçbir standart uygunluğu iddia edilmez; bu bir release-modelleme katmanıdır. Tedarik zinciri kanıtı (SBOM, imzalar, sağlama toplamları) bildirim tarafından referans alınır ve release araçlarınız tarafından üretilip doğrulanır.
FIPS modu davranışı
“FIPS modu davranışı” başlıklı bölümBu modül hiçbir kriptografik işlem gerçekleştirmez. GPG imzalama ve sağlama toplamı üretimi, haricî release araçları tarafından gerçekleştirilir ve burada yalnızca referans alınır.
Tehdit modeli
“Tehdit modeli” başlıklı bölümGirdiler, çağıranın sağladığı derleme profilleri ve bildirim verisidir. Model, kaynak-vs-tüketim ve erişim-sınırı ayrımlarını açık kılar; böylece yanlış yönlendirme (örneğin dahilî bir yapıtı açığa çıkarmak) sessiz değil, görünür bir modelleme hatası olur.
Davranış sözleşmesi
“Davranış sözleşmesi” başlıklı bölümReleaseManifest, bir sürüm için değişmez en üst düzey belgedir; şema sürümü, eklemeli için minör, bozucu için majör kuralını izler.DistributionChannel, yapıt kaynağını ve paket tüketim katmanını farklı kaygılar olarak tutar; bunları birleştirmek, bu türün açık kıldığı bir modelleme hatasıdır.AccessBoundary, Paid / Evaluation / Internal ayrımını yapar ve her sınır kimlik doğrulaması gerektirir; bir Internal yapıt asla müşteriye yönelik değildir.PublishingPlan, derleme profillerinden ve release bildiriminden türetilir; amaçlanan hedefleri betimler ve taşıma için yetkili değildir.
Yayımlama sınırı
“Yayımlama sınırı” başlıklı bölümBu sayfa yalnızca dışarıdan gözlemlenebilir davranışı ve desteklenen genel API yüzeyini belgeler. Dahilî ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, runbook dosya adları ve bilet önekleri kapsam dışıdır.
Core yedeği
“Core yedeği” başlıklı bölümNextPDF Core’un hiçbir release-modelleme katmanı yoktur. Release bildirimleri, derleme profilleri veya bir yayımlama planı gerektiren yalnızca Core’lu bir tüketici, bunları kendisi modellemelidir.
Pro yedeği
“Pro yedeği” başlıklı bölümNextPDF Pro, türü belirtilmiş release bildirimlerini, derleme profillerini, erişim sınırlarını veya türetilen yayımlama planını sağlamaz; bunlar yalnızca nextpdf/enterprise paketinde sevk edilir. Yalnızca Pro’lu bir dağıtımın, bir release-modelleme isteğini karşılayacak hiçbir Enterprise bileşeni yoktur. Enterprise yüzeyi için Enterprise genel bakışına bakın.
Enterprise sınır notu
“Enterprise sınır notu” başlıklı bölümBildirim şeması, kaynak-vs-tüketim ayrımı ve erişim-sınırı yönlendirmesi, yalnızca davranış düzeyinde açıklanmıştır. Dahilî kanal-çözümleme tabloları ve dahilî yayımlama-hedefi bağlantıları, genel yüzeyin kapsamı dışındadır ve burada yeniden üretilmez.
Dağıtım sınırı
“Dağıtım sınırı” başlıklı bölümYayımlama planı, taşıma değil, türetilmiş meta veridir: gerçek yapıt yüklemesi, release araçlarınız tarafından gerçekleştirilir. Tedarik zinciri kanıtı (SBOM, GPG imzası, sağlama toplamları) bildirim tarafından referans alınır ve bu modül tarafından değil, release işlem hattınız tarafından üretilip doğrulanır. Her kanal için yönlendirme, kimlik bilgileri ve depolama operatörün sorumluluğundadır.
Hukuki uygunluk sınırı
“Hukuki uygunluk sınırı” başlıklı bölümBu sayfa bir release-modelleme katmanını açıklar. Tedarik zinciri kanıt referanslarını kaydeder ve yönlendirir; kendisi imza üretmez, köken beyan etmez, bir sürümü sertifikalandırmaz veya hukuki tavsiye oluşturmaz. Bildirimi tek başına bir kanıt olarak ele almak yanlıştır; doğrulama, release işlem hattınız tarafından gerçekleştirilir. Bir release’in sözleşmesel veya düzenleyici yükümlülüklerinizi karşılayıp karşılamadığına karar vermek sizin sorumluluğunuzdadır.