Enterprise الإصدار
الإصدار
لمحة سريعة
قسم بعنوان «لمحة سريعة»يُنمذِج NextPDF Enterprise الإصدار ككائنات قيمة من نوع محدَّد — بيان إصدار، وبيانات لكل قِطعة، وملفات تعريف بناء، وقنوات توزيع، وحدود وصول — ويشتقّ خطة نشر تُوجِّه كل قِطعة إلى القناة وحدود الوصول الصحيحة.
التوفّر والترخيص
قسم بعنوان «التوفّر والترخيص»تُشحَن هذه القدرة في NextPDF Enterprise (nextpdf/enterprise) وتُفعَّل بمَغلَّف ترخيص من فئة Enterprise. لا يُحمِّل أي نشر يفتقر إلى ذلك الاستحقاق أصنافَ هذه القدرة. قارن الإصدارات واحصل على ترخيص.
التثبيت
قسم بعنوان «التثبيت»composer require nextpdf/enterprise:^3نظرة مفاهيمية عامة
قسم بعنوان «نظرة مفاهيمية عامة»ReleaseManifest هو المستند الجذري الثابت لإصدار ما. يسجّل الإصدار الدلالي، وإيداع المصدر، وطابع البناء الزمني، وقائمة البيانات لكل قِطعة، ومسارات اختيارية لأدلّة سلسلة الإمداد (SBOM، وتوقيع GPG، والمجاميع الاختبارية). يتبع إصدار مخطّطه قاعدة ثانوي للإضافات ورئيسي للتغييرات الكاسرة.
يسجّل ArtifactManifest قِطعةً مبنيّة واحدة: اسم ملفها القانوني، والإصدار، وإيداع المصدر، والإصدار المستهدف، ووضع التسليم، وتقنية الترميز، وقناة التوزيع، وإصدار PHP المستهدف، وملخّص SHA-256، وانتهاء صلاحية الترميز الاختياري، وطابع البناء الزمني. يميّز EncodingTechnology الأداة المستخدمة لترميز قِطعة عمّا إذا كانت قد رُمِّزت أصلًا؛ فالقِطعة بنص صريح تحمل دائمًا None.
يفصل DistributionChannel بين شأنين صراحةً: أصل القِطعة (تخزين ثنائي) وطبقة استهلاك الحزمة (السجلّ الذي يقرؤه composer require). يحدّد AccessBoundary من يجوز له الوصول إلى قِطعة — عملاء مدفوعون، أو تقييم محدود الوقت، أو CI/QA/staging داخلي غير مُوجَّه للعميل أبدًا — وتتطلّب كل حدود مصادقة.
يُشتقّ PublishingPlan من ملفات تعريف البناء ومن بيان الإصدار. يُحلّ كل ملف تعريف إلى أهداف نشر: هدف أصل القِطعة وهدف طبقة الاستهلاك، مع تطبيق حدود الوصول الصحيحة بحيث تُوجَّه القِطَع المدفوعة وقِطَع التقييم إلى الموضع الصحيح.
لماذا يعمل بهذه الطريقة
قسم بعنوان «لماذا يعمل بهذه الطريقة»القرار الحامل هو نمذجة الإصدار ككائنات قيمة ثابتة من نوع محدَّد، لا كتهيئة سائبة. فأصل القِطعة وطبقة الاستهلاك شأنان متمايزان من نوع تعداد، وحدود الوصول صريحة. لذا فإن القِطعة المُوجَّهة خطأً — بناء داخلي وُضع على قناة عميل — تظهر بوصفها خطأ نمذجة، لا زلّة إنتاج صامتة. تبقى الخطة مُشتقّة لا موثوقة: فهي تسمّي الأهداف المقصودة بينما تؤدّي أدوات الإصدار لديك النقل. تُحلّ الكائنات نفسها من خلال عقد Core، لذا لا يغيّر المستهلك الذي يرقّي إصداره أيَّ كود استدعاء. تلك الاستمرارية هي جوهر حدود النواة المفتوحة — فأنت تشتري سطح Enterprise، لا إعادة كتابة. خلفية التصميم: نواة مفتوحة، بلا حصر.
سطح الـ API
قسم بعنوان «سطح الـ API»| الصنف | المسؤولية |
|---|---|
ReleaseManifest | مستند إصدار جذري ثابت. |
ArtifactManifest | بيانات وصفية لكل قِطعة وحقول تحقّق. |
BuildProfile | تهيئة بناء لنشرها. |
DistributionChannel | تعداد قناة الأصل مقابل طبقة الاستهلاك. |
AccessBoundary | تعداد وصول Paid / Evaluation / Internal. |
EncodingTechnology | تعداد أداة الترميز (مثلًا مُرمَّز / لا شيء). |
PublishingPlan / PublishingTarget | خطة مُشتقّة وتوجيه لكل هدف. |
مثال برمجي — بداية سريعة
قسم بعنوان «مثال برمجي — بداية سريعة»use NextPDF\Enterprise\Release\PublishingPlan;
$plan = PublishingPlan::fromProfiles($profiles, '3.1.0');مثال برمجي — إنتاج
قسم بعنوان «مثال برمجي — إنتاج»use 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, ]);}الحالات الحدّية والمزالق
قسم بعنوان «الحالات الحدّية والمزالق»- أصل القِطعة وطبقة الاستهلاك قناتان متمايزتان. يخزّن الأصلُ الثنائيَّ؛ وتُقدّم طبقة الاستهلاك البيانات الوصفية التي تشير إليه. لا تخلط بينهما عند التفكير في الموضع الذي يُحلّ إليه
composer require. - القِطعة بنص صريح تُبلِّغ دائمًا عن
EncodingTechnology::None؛ ويجيب حقل تقنية الترميز عن «أي أداة»، لا عن «هل كانت محميّة». - قِطَع حدود الوصول الداخلية غير مُوجَّهة للعميل أبدًا؛ وتوجيهها إلى قناة عميل خطأ تهيئة صُمِّم هذا النموذج ليجعله صريحًا.
- خطة النشر مُشتقّة، لا موثوقة للنقل — فهي تصف الأهداف المقصودة؛ أما الرفع الفعلي فتؤدّيه أدوات الإصدار لديك.
الأداء
قسم بعنوان «الأداء»اشتقاق الخطة خطّي في عدد ملفات تعريف البناء وينتج عددًا صغيرًا من الأهداف لكل ملف. كائنات القيمة ثابتة ورخيصة الإنشاء.
ملاحظات أمنية
قسم بعنوان «ملاحظات أمنية»يحمل بيان الإصدار مسارات أدلّة سلسلة الإمداد (SBOM، وتوقيع GPG، والمجاميع الاختبارية). تسجّل هذه الوحدة تلك المراجع وتوجّهها؛ ولا تُنتج بنفسها توقيعات ولا تُثبت المنشأ. عامِل البيان كبيانات وصفية يتحقّق منها مسار الإصدار لديك، لا كدليل بحدّ ذاته.
إقامة البيانات وتخفيفات المعلومات الشخصية
قسم بعنوان «إقامة البيانات وتخفيفات المعلومات الشخصية»تحتوي بيانات الإصدار على بيانات وصفية للبناء والقِطعة، لا بيانات شخصية. طبّق ضوابطك المعتادة على تخزين القِطَع.
القياس الآمن وتنقية السجلات
قسم بعنوان «القياس الآمن وتنقية السجلات»ينبغي أن تسجّل سجلات الإصدار الإصدار والقناة، لا مادة مفاتيح التوقيع ولا مسارات التخزين الداخلية.
المطابقة
قسم بعنوان «المطابقة»لا يُدّعى أي مطابقة لمعايير لهذه الوحدة؛ فهي طبقة لنمذجة الإصدار. يُشار إلى أدلّة سلسلة الإمداد (SBOM، والتوقيعات، والمجاميع الاختبارية) من خلال البيان، وتنتجها وتتحقّق منها أدوات الإصدار لديك.
سلوك وضع FIPS
قسم بعنوان «سلوك وضع FIPS»لا تُجري هذه الوحدة أي عملية تشفيرية. توقيع GPG وتوليد المجاميع الاختبارية تؤدّيهما أدوات إصدار خارجية ويُشار إليهما هنا فقط.
نموذج التهديد
قسم بعنوان «نموذج التهديد»المُدخَلات هي ملفات تعريف بناء وبيانات بيان يزوّدها المستدعي. يجعل النموذج تمييزَي الأصل-مقابل-الاستهلاك وحدود الوصول صريحَين بحيث يكون التوجيه الخاطئ (مثلًا كشف قِطعة داخلية) خطأ نمذجة ظاهرًا لا صامتًا.
عقد السلوك
قسم بعنوان «عقد السلوك»ReleaseManifestهو المستند الجذري الثابت لإصدار ما؛ ويتبع إصدار مخطّطه قاعدة ثانوي للإضافات ورئيسي للتغييرات الكاسرة.- يُبقي
DistributionChannelأصل القِطعة وطبقة استهلاك الحزمة شأنين متمايزين؛ ودمجهما خطأ نمذجة يجعله هذا النوع صريحًا. - يميّز
AccessBoundaryبين Paid / Evaluation / Internal، وتتطلّب كل حدود مصادقة؛ والقِطعة الداخلية غير مُوجَّهة للعميل أبدًا. - يُشتقّ
PublishingPlanمن ملفات تعريف البناء وبيان الإصدار؛ وهو يصف الأهداف المقصودة وليس موثوقًا للنقل.
حدود النشر
قسم بعنوان «حدود النشر»توثّق هذه الصفحة السلوك القابل للملاحظة خارجيًا والسطح العام المدعوم من الـ API فقط. أما مسارات فضاء الأسماء الداخلية، وأصناف المساعدة، وجداول الآليات، وأسماء ملفات أدلّة التشغيل، وبادئات التذاكر فهي خارج النطاق.
الاحتياط في Core
قسم بعنوان «الاحتياط في Core»لا يملك NextPDF Core أي طبقة لنمذجة الإصدار. على المستهلك الذي يقتصر على Core ويحتاج بيانات إصدار أو ملفات تعريف بناء أو خطة نشر أن ينمذجها بنفسه.
الاحتياط في Pro
قسم بعنوان «الاحتياط في Pro»لا يوفّر NextPDF Pro بيانات الإصدار من نوع محدَّد، ولا ملفات تعريف البناء، ولا حدود الوصول، ولا خطة النشر المُشتقّة؛ فتلك تُشحَن في حزمة nextpdf/enterprise فقط. لا يملك نشر يقتصر على Pro أي مكوّن Enterprise يُلبّي طلب نمذجة إصدار. راجع نظرة عامة على Enterprise لأجل سطح Enterprise.
ملاحظة حدود Enterprise
قسم بعنوان «ملاحظة حدود Enterprise»يُوصَف مخطّط البيان، وتمييز الأصل-مقابل-الاستهلاك، وتوجيه حدود الوصول على مستوى السلوك فقط. جداول حلّ القنوات الداخلية وتوصيل أهداف النشر الداخلية خارج نطاق السطح العام ولا تُعاد هنا.
حدود النشر التشغيلي
قسم بعنوان «حدود النشر التشغيلي»خطة النشر بيانات وصفية مُشتقّة، لا النقل: الرفع الفعلي للقِطعة تؤدّيه أدوات الإصدار لديك. يُشار إلى أدلّة سلسلة الإمداد (SBOM، وتوقيع GPG، والمجاميع الاختبارية) من خلال البيان، وينتجها ويتحقّق منها مسار الإصدار لديك، لا هذه الوحدة. أما التوجيه وبيانات الاعتماد والتخزين لكل قناة فهي مسؤولية المشغِّل.
حدود الامتثال القانوني
قسم بعنوان «حدود الامتثال القانوني»تصف هذه الصفحة طبقةً لنمذجة الإصدار. تسجّل مراجع أدلّة سلسلة الإمداد وتوجّهها؛ ولا تُنتج بنفسها توقيعات، ولا تُثبت المنشأ، ولا تعتمد إصدارًا، ولا تشكّل مشورة قانونية. معاملة البيان كدليل بحدّ ذاته غير صحيحة؛ والتحقّق يؤدّيه مسار الإصدار لديك. أما الحكم على ما إذا كان إصدار ما يفي بالتزاماتك التعاقدية أو التنظيمية فهو مسؤوليتك.