Enterprise الإصدار
PHPStan
لمحة سريعة
قسم بعنوان «لمحة سريعة»يشحن NextPDF Enterprise قاعدة PHPStan مخصّصة، EditionBoundaryRule، تُبلِّغ عن استيرادات use التي تعبر حدود الإصدارات Core → Pro → Enterprise. وهي فحص ساكن مُوجَّه للمطوّر يُبلِّغ عن الانتهاكات؛ يُحلِّل عبارات الاستيراد ولا يضمن صحة شيفرتك.
التوفّر والترخيص
قسم بعنوان «التوفّر والترخيص»تُشحن هذه القدرة في NextPDF Enterprise (nextpdf/enterprise) وتُفعَّل بمظروف ترخيص من درجة Enterprise. وهي قاعدة PHPStan في وقت البناء مُسجَّلة عبر تهيئة PHPStan لديك، فتُشغَّل أثناء التحليل الساكن وليس لها مسار في وقت التشغيل؛ وبوابة الترخيص هي حدود حزمة nextpdf/enterprise، بلا رمز قدرة منفصل لكل ميزة. قارن الإصدارات واحصل على ترخيص.
التثبيت
قسم بعنوان «التثبيت»composer require nextpdf/enterprise:^3سجِّل القاعدة في تهيئة PHPStan لديك:
rules: - NextPDF\Enterprise\PHPStan\EditionBoundaryRuleنظرة مفاهيمية عامة
قسم بعنوان «نظرة مفاهيمية عامة»تفحص القاعدة كل عبارة use وتقارن فضاء الاسم المُستورِد ببادئة فضاء اسم الرمز المُستورَد. وتفرض ترتيب اعتماد أحادي الاتجاه:
- شيفرة Core (
NextPDF\، باستثناء فضاءَي الأسماء الفرعيين Pro وEnterprise) يجب ألّا تستورد منNextPDF\Pro\*أوNextPDF\Enterprise\*. - شيفرة Pro (
NextPDF\Pro\*) يجب ألّا تستورد منNextPDF\Enterprise\*. - شيفرة Enterprise (
NextPDF\Enterprise\*) هي الدرجة العليا ويجوز لها الاستيراد من أيٍّ منها.
حين يعبر استيراد الحدود، تُبلِّغ القاعدة بخطأ بالمُعرِّف nextpdf.editionBoundaryViolation ورسالة تُسمّي فضاء الاسم المُستورِد، والبادئة المحظورة، ووسوم إصدارات مقروءة للبشر. والفحص ساكن محض: يقرأ مخطط الاستيراد في وقت التحليل.
لماذا يعمل بهذه الطريقة
قسم بعنوان «لماذا يعمل بهذه الطريقة»تُحاكِم القاعدة عبارات use في وقت التحليل، لا في وقت التشغيل، لأن حدود الإصدارات ثابت معماري لا قرار في وقت التشغيل. إذ تُشحن Core وPro وEnterprise كحزم منفصلة، فيجب ألّا تعتمد درجة أدنى أبدًا على رموز غائبة عن تثبيت أصغر. والتقاط استيراد عابر للحدود أثناء التحليل الساكن يُفشل البناء قبل أن يُشحَن الخطأ. والبديل أسوأ: يظهر الاستيراد نفسه لاحقًا كخطأ فادح بصنف مفقود في نشر يقتصر على Core. والترتيب أحادي الاتجاه عمدًا، Core → Pro → Enterprise، محاكيًا كيف تتراكب حزم open-core بعضها فوق بعض. وتبقى Enterprise غير مُقيَّدة لأنها الدرجة العليا ويجوز لها الإشارة إلى كل إصدار دونها.
خلفية التصميم: نواة مفتوحة، بلا حبس مورّد.
سطح الـ API
قسم بعنوان «سطح الـ API»| الصنف | المسؤولية |
|---|---|
EditionBoundaryRule | قاعدة PHPStan على عبارات use؛ تُبلِّغ بانتهاكات حدود الإصدارات. |
تُنفِّذ القاعدة عقد PHPStan Rule القياسي على نوع العقدة Use_ وتُصدِر أخطاءً تحت المُعرِّف nextpdf.editionBoundaryViolation.
مثال شيفرة — بداية سريعة
قسم بعنوان «مثال شيفرة — بداية سريعة»# phpstan.neonincludes: - vendor/nextpdf/enterprise/phpstan.neon.distمثال شيفرة — إنتاج
قسم بعنوان «مثال شيفرة — إنتاج»# phpstan.neonrules: - NextPDF\Enterprise\PHPStan\EditionBoundaryRule
parameters: level: 9 paths: - srcيظهر الانتهاك في ناتج PHPStan، مثلًا: يُبلَّغ عن استيراد Enterprise داخل شيفرة Core كانتهاك حدود إصدارات على سطر use المخالف، تحت nextpdf.editionBoundaryViolation.
الحالات الحدّية والمزالق
قسم بعنوان «الحالات الحدّية والمزالق»- تُحاكِم القاعدة فضاء اسم الملف المُحلَّل وبادئة الرمز المُستورَد. والشيفرة في فضاء اسم غير
NextPDF\ليست مُقيَّدة بهذه القاعدة. - فضاءات أسماء Enterprise غير مُقيَّدة بحكم التصميم؛ ولا تُعلِّم القاعدة أبدًا ملف Enterprise لاستيراده من Pro أو Core.
- تُحلِّل القاعدة عبارات
use. ومرجع صنف مؤهَّل بالكامل مكتوب سطريًا دونuseخارج نطاق هذه القاعدة؛ فضِّل الاستيرادات حتى تُفرَض الحدود. - الفحص ساكن وإرشادي: يُبلِّغ بانتهاكات الحدود. وهو لا يُثبت أن برنامجك صحيح فيما عدا ذلك.
الأداء
قسم بعنوان «الأداء»تُشغَّل القاعدة لكل عبارة use أثناء تحليل PHPStan وتُجري مقارنات بادئة نصية. وعبؤها يتناسب مع عدد عبارات الاستيراد وهو ضئيل نسبةً إلى زمن التحليل الإجمالي.
ملاحظات أمنية
قسم بعنوان «ملاحظات أمنية»هذه قاعدة تحليل ساكن. تُنفَّذ في وقت البناء داخل PHPStan، وتقرأ بنية المصدر فقط، وليس لها أثر في وقت التشغيل على ملفات PDF المُولَّدة.
إقامة البيانات وتخفيفات المعلومات الشخصية
قسم بعنوان «إقامة البيانات وتخفيفات المعلومات الشخصية»تعالج القاعدة شيفرة المصدر في وقت التحليل ولا تتعامل مع أي مستند أو بيانات شخصية.
القياس الآمن وتنقية السجلات
قسم بعنوان «القياس الآمن وتنقية السجلات»ناتج القاعدة تشخيصات PHPStan. وهو يحتوي فضاءات أسماء وأسماء رموز من شيفرتك أنت؛ عامِل سجلات التحليل بالعناية نفسها التي تُخصِّصها لمصدرك.
المطابقة
قسم بعنوان «المطابقة»لا يُدَّعى أي مطابقة معايير. هذه قاعدة أدوات مطوّر تفرض قيدًا معماريًا داخليًا (تطبّق طبقات الإصدارات) في عمليات البناء اللاحقة.
سلوك وضع FIPS
قسم بعنوان «سلوك وضع FIPS»لا ينطبق؛ لا تُجري القاعدة أي عمليات تشفيرية وليس لها مسار في وقت التشغيل.
نموذج التهديد
قسم بعنوان «نموذج التهديد»ليست مكوّنًا في وقت التشغيل. غرض القاعدة التقاط خطأ معماري — استيراد عبر حدود الإصدارات — قبل أن يُشحَن، بإفشال مرحلة التحليل الساكن.
عقد السلوك
قسم بعنوان «عقد السلوك»- تفحص القاعدة كل عبارة
useوتفرض ترتيب اعتماد أحادي الاتجاه: Core يجب ألّا يستورد Pro أو Enterprise؛ وPro يجب ألّا يستورد Enterprise؛ وEnterprise يجوز له الاستيراد من أيٍّ. - يُبلَّغ عن استيراد عابر للحدود تحت المُعرِّف
nextpdf.editionBoundaryViolationمع فضاء الاسم المُستورِد والبادئة المحظورة. - الشيفرة في فضاء اسم غير
NextPDF\ليست مُقيَّدة بهذه القاعدة. - مرجع صنف سطري مؤهَّل بالكامل دون
useخارج نطاق هذه القاعدة؛ فضِّل الاستيرادات حتى تُفرَض الحدود.
حدود النشر
قسم بعنوان «حدود النشر»توثّق هذه الصفحة السلوك القابل للملاحظة خارجيًا وسطح الـ API العام المدعوم فقط. أما مسارات فضاءات الأسماء الداخلية، والأصناف المساعِدة، وجداول الآليات، وأسماء ملفات أدلة التشغيل، وبادئات التذاكر فخارج النطاق.
بديل Core
قسم بعنوان «بديل Core»لا يشحن NextPDF Core قاعدة PHPStan لحدود الإصدارات. والمستهلك الذي يقتصر على Core ويريد فرض طبقات الإصدارات في بنائه الخاص عليه أن يكتب قاعدة مكافئة أو يحصل عليها بنفسه.
بديل Pro
قسم بعنوان «بديل Pro»لا يشحن NextPDF Pro قاعدة PHPStan لحدود الإصدارات؛ فهي جزء من حزمة nextpdf/enterprise فقط. ونشر يقتصر على Pro لا يملك مكوّن Enterprise يُسجِّل منه هذه القاعدة. انظر نظرة عامة على Enterprise لسطح Enterprise.
ملاحظة حدود Enterprise
قسم بعنوان «ملاحظة حدود Enterprise»تبقى تفاصيل الآلية الداخلية في التوثيق الداخلي لمستودع المصدر وهي خارج نطاق هذا الدليل.
حدود التوزيع
قسم بعنوان «حدود التوزيع»هذه قاعدة تحليل ساكن في وقت البناء. تُنفَّذ داخل PHPStan أثناء التحليل، وتقرأ بنية المصدر فقط، وليس لها أثر في وقت التشغيل على ملفات PDF المُولَّدة ولا على أي خدمة منشورة. وتسجيلها واختيار مستوى PHPStan مسؤولية المُكامِل.
حدود الامتثال القانوني
قسم بعنوان «حدود الامتثال القانوني»تصف هذه الصفحة قاعدة تحليل ساكن من أدوات المطوّر. وهي لا تقدّم أي ضمان امتثال أو شهادة أو صحة لشيفرتك؛ بل تُبلِّغ بانتهاكات استيراد حدود الإصدارات فقط وهي إرشادية. ولا تشكّل مشورة قانونية. والحكم على ما إذا كان بناؤك يستوفي التزاماتك المعمارية أو التعاقدية الخاصة مسؤوليتك.