Enterprise sürüm
PHPStan
Bir bakışta
“Bir bakışta” başlıklı bölümNextPDF Enterprise, Core → Pro → Enterprise sürüm sınırını aşan use içe aktarmalarını işaretleyen özel bir PHPStan kuralı olan EditionBoundaryRule’u sunar. İhlalleri raporlayan, geliştiriciye yönelik statik bir denetimdir; içe-aktarma deyimlerini çözümler ve kodunuzun doğruluğunu garanti etmez.
Kullanılabilirlik ve lisanslama
“Kullanılabilirlik ve lisanslama” başlıklı bölümBu yetenek NextPDF Enterprise (nextpdf/enterprise) içinde sunulur ve Enterprise katmanlı bir lisans zarfıyla etkinleşir. PHPStan yapılandırmanız üzerinden kaydedilen bir derleme-zamanı PHPStan kuralıdır; dolayısıyla statik çözümleme sırasında çalışır ve hiçbir çalışma zamanı yolu yoktur; lisans geçidi, özellik başına ayrı bir yetenek kodu olmaksızın nextpdf/enterprise paket sınırıdır. Sürümleri karşılaştırın ve lisans alın.
Kurulum
“Kurulum” başlıklı bölümcomposer require nextpdf/enterprise:^3Kuralı PHPStan yapılandırmanızda kaydedin:
rules: - NextPDF\Enterprise\PHPStan\EditionBoundaryRuleKavramsal genel bakış
“Kavramsal genel bakış” başlıklı bölümKural, her use deyimini inceler ve içe aktaran ad alanını, içe aktarılan sembolün ad alanı önekiyle karşılaştırır. Tek yönlü bir bağımlılık sırasını zorunlu kılar:
- Core kodu (
NextPDF\, Pro ve Enterprise alt ad alanları hariç),NextPDF\Pro\*veyaNextPDF\Enterprise\*içinden içe aktarmamalıdır. - Pro kodu (
NextPDF\Pro\*),NextPDF\Enterprise\*içinden içe aktarmamalıdır. - Enterprise kodu (
NextPDF\Enterprise\*), en üst katmandır ve bunların herhangi birinden içe aktarabilir.
Bir içe aktarma sınırı aştığında, kural nextpdf.editionBoundaryViolation tanımlayıcısıyla ve içe aktaran ad alanını, yasaklı öneki ve insan tarafından okunabilir sürüm etiketlerini adlandıran bir mesajla bir hata raporlar. Denetim tamamen statiktir: çözümleme zamanında içe-aktarma grafiğini okur.
Neden bu şekilde çalışır
“Neden bu şekilde çalışır” başlıklı bölümKural, use deyimleri hakkında çalışma zamanında değil çözümleme zamanında akıl yürütür; çünkü sürüm sınırı, bir çalışma zamanı kararından ziyade mimari bir değişmezdir. Core, Pro ve Enterprise ayrı paketler olarak sunulur; dolayısıyla daha alt bir katman, daha küçük bir kurulumda bulunmayan sembollere asla bağımlı olmamalıdır. Sınırı aşan bir içe aktarmayı statik çözümleme sırasında yakalamak, hata gönderilmeden önce derlemeyi başarısız kılar. Alternatifi daha kötüdür: aynı içe aktarma, daha sonra yalnızca Core’lu bir dağıtımda ölümcül bir eksik-sınıf hatası olarak ortaya çıkar. Sıra kasıtlı olarak tek yönlüdür, Core → Pro → Enterprise; açık çekirdek paketlerinin birbirinin üzerine nasıl katmanlandığını yansıtır. Enterprise kısıtlamasız kalır çünkü en üst katmandır ve altındaki her sürüme başvurabilir.
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 |
|---|---|
EditionBoundaryRule | use deyimleri üzerinde PHPStan kuralı; sürüm-sınırı ihlallerini raporlar. |
Kural, Use_ düğüm türü üzerinde standart PHPStan Rule sözleşmesini uygular ve hataları nextpdf.editionBoundaryViolation tanımlayıcısı altında yayar.
Kod örneği — hızlı başlangıç
“Kod örneği — hızlı başlangıç” başlıklı bölüm# phpstan.neonincludes: - vendor/nextpdf/enterprise/phpstan.neon.distKod örneği — üretim
“Kod örneği — üretim” başlıklı bölüm# phpstan.neonrules: - NextPDF\Enterprise\PHPStan\EditionBoundaryRule
parameters: level: 9 paths: - srcBir ihlal PHPStan çıktısında şöyle görünür: örneğin, Core kodu içindeki bir Enterprise içe aktarması, ihlal eden use satırında, nextpdf.editionBoundaryViolation altında bir sürüm-sınırı ihlali olarak raporlanır.
Uç durumlar ve tuzaklar
“Uç durumlar ve tuzaklar” başlıklı bölüm- Kural, çözümlenen dosyanın ad alanı ve içe aktarılan sembolün öneki hakkında akıl yürütür.
NextPDF\olmayan bir ad alanındaki kod, bu kuralla kısıtlanmaz. - Enterprise ad alanları tasarım gereği kısıtlamasızdır; kural, bir Enterprise dosyasını Pro veya Core içe aktardığı için asla işaretlemez.
- Kural,
usedeyimlerini çözümler.useolmadan satır içinde yazılmış, tam nitelikli bir sınıf başvurusu bu kuralın kapsamı dışındadır; sınırın zorunlu kılınması için içe aktarmaları tercih edin. - Denetim statik ve önericidir: sınır ihlallerini raporlar. Programınızın aksi takdirde doğru olduğunu kanıtlamaz.
Performans
“Performans” başlıklı bölümKural, PHPStan çözümlemesi sırasında her use deyimi başına çalışır ve dize-öneki karşılaştırmaları yapar. Yükü, içe-aktarma deyimlerinin sayısıyla orantılıdır ve genel çözümleme süresine göre ihmal edilebilir düzeydedir.
Güvenlik notları
“Güvenlik notları” başlıklı bölümBu, bir statik-çözümleme kuralıdır. PHPStan içinde derleme zamanında yürütülür, yalnızca kaynak yapısını okur ve üretilen PDF’ler üzerinde hiçbir çalışma zamanı etkisi yoktur.
Veri yerleşimi ve PII azaltmaları
“Veri yerleşimi ve PII azaltmaları” başlıklı bölümKural, çözümleme zamanında kaynak kodu işler ve hiçbir belge veya kişisel veri işlemez.
Güvenli telemetri ve günlük temizleme
“Güvenli telemetri ve günlük temizleme” başlıklı bölümKural çıktısı PHPStan tanılamalarıdır. Kendi kodunuzdan ad alanları ve sembol adları içerir; çözümleme günlüklerine kaynağınızla aynı özeni gösterin.
Uygunluk
“Uygunluk” başlıklı bölümHiçbir standart uygunluğu iddia edilmez. Bu, aşağı akış derlemelerinde dahilî bir mimari kısıtlamayı (sürüm katmanlaması) zorunlu kılan bir geliştirici aracı kuralıdır.
FIPS modu davranışı
“FIPS modu davranışı” başlıklı bölümUygulanamaz; kural hiçbir kriptografik işlem yapmaz ve hiçbir çalışma zamanı yolu yoktur.
Tehdit modeli
“Tehdit modeli” başlıklı bölümBir çalışma zamanı bileşeni değildir. Kuralın amacı, statik-çözümleme aşamasını başarısız kılarak, bir mimari hatayı — bir sürüm-sınırı içe aktarması — gönderilmeden önce yakalamaktır.
Davranış sözleşmesi
“Davranış sözleşmesi” başlıklı bölüm- Kural, her
usedeyimini inceler ve tek yönlü bir bağımlılık sırasını zorunlu kılar: Core, Pro veya Enterprise içe aktarmamalıdır; Pro, Enterprise içe aktarmamalıdır; Enterprise herhangi birini içe aktarabilir. - Sınırı aşan bir içe aktarma, içe aktaran ad alanı ve yasaklı önekle birlikte
nextpdf.editionBoundaryViolationtanımlayıcısı altında raporlanır. NextPDF\olmayan bir ad alanındaki kod, bu kuralla kısıtlanmaz.useolmadan tam nitelikli satır içi bir sınıf başvurusu bu kuralın kapsamı dışındadır; sınırın zorunlu kılınması için içe aktarmaları tercih edin.
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 herkese açık 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, bir sürüm-sınırı PHPStan kuralı sunmaz. Kendi derlemesinde sürüm katmanlamasının zorunlu kılınmasını isteyen, yalnızca Core’lu bir tüketici, eşdeğer bir kuralı kendisi yazmalı veya temin etmelidir.
Pro yedeği
“Pro yedeği” başlıklı bölümNextPDF Pro, sürüm-sınırı PHPStan kuralını sunmaz; yalnızca nextpdf/enterprise paketinin parçasıdır. Yalnızca Pro’lu bir dağıtımın bu kuralı kaydedeceği hiçbir Enterprise bileşeni yoktur. Enterprise yüzeyi için Enterprise genel bakışı sayfasına bakın.
Enterprise sınır notu
“Enterprise sınır notu” başlıklı bölümDahilî mekanizma ayrıntıları, kaynak deposunun dahilî belgelerinde kalır ve bu kılavuzun kapsamı dışındadır.
Dağıtım sınırı
“Dağıtım sınırı” başlıklı bölümBu, bir derleme-zamanı statik-çözümleme kuralıdır. Çözümleme sırasında PHPStan içinde yürütülür, yalnızca kaynak yapısını okur ve üretilen PDF’ler veya dağıtılmış herhangi bir hizmet üzerinde hiçbir çalışma zamanı etkisi yoktur. Onu kaydetmek ve PHPStan düzeyini seçmek tümleştiricinin sorumluluğundadır.
Hukuki uygunluk sınırı
“Hukuki uygunluk sınırı” başlıklı bölümBu sayfa, geliştirici-aracı bir statik-çözümleme kuralını açıklar. Kodunuz hakkında hiçbir uyumluluk, sertifikasyon veya doğruluk garantisi vermez; yalnızca sürüm-sınırı içe-aktarma ihlallerini raporlar ve önericidir. Hukuki tavsiye oluşturmaz. Derlemenizin kendi mimari veya sözleşmeye dayalı yükümlülüklerinizi karşılayıp karşılamadığını değerlendirmek sizin sorumluluğunuzdadır.