تمرير النطاق إلى قالب مسمّى
أرسل كائن السياق الصحيح إلى Partial
تمرير النطاق إلى قالب مسمّى درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
تحتاج القوالب الجزئية إلى سياق
لا يستطيع القالب المسمّى قراءة إلا ما تمرّره إليه. تحدد الوسيطة الثانية لـ include النطاق، أي النقطة التي سيرى القالب الجزئي محتواها.
{{ include "mychart.labels" . }}النقطة هي النطاق
تعبّر النقطة اللاحقة عن السياق الحالي. ويمنح تمرير النقطة الجذر القالب الجزئي إمكانية الوصول إلى .Values و.Release و.Chart.
نسيان النطاق يعطّل الأشياء
إذا استدعيت قالبًا جزئيًا من دون نطاق، تصبح نقطته nil. وأي إشارة إلى .Values داخله ستُصيّر فارغة أو ستؤدي إلى خطأ.
{{ include "mychart.name" }}تمرير السياق الجذر
تتوقع معظم الدوال المساعدة سياق المخطط كاملًا، لذلك تمرر النقطة المجردة. وهذا هو الإعداد الافتراضي الآمن الذي يجعل الدوال المساعدة القياسية تعمل.
{{ include "mychart.fullname" . }}تمرير كائن فرعي
أحيانًا لا يحتاج القالب الجزئي إلا إلى جزء واحد من القيم. يمكنك تمرير شجرة فرعية إليه بحيث تشير نقطته إلى ذلك الجزء تحديدًا.
{{ include "mychart.ports" .Values.service }}تتغير النقطة من الداخل
عند تمرير .Values.service، تصبح نقطة القالب الجزئي هي ذلك الكائن. وسيقرأ .port مباشرةً بدلًا من .Values.service.port.
{{- define "mychart.ports" -}}
port: {{ .port }}
{{- end -}}فقدان الجذر عن قصد
يفيد تضييق النطاق، لكنه يمنعك من الوصول إلى .Release والقيم العامة. فلا يرى القالب الجزئي إلا الكائن الذي مررته إليه.
مرّر كليهما باستخدام dict
هل تحتاج إلى شجرة فرعية وإلى الجذر؟ أنشئ dict صغيرًا ومرره، ثم ادخل إلى كل جزء باستخدام مفتاحه داخل القالب الجزئي.
{{ include "mychart.tpl" (dict "top" . "svc" .Values.service) }}قراءة النطاق المجمّع
فكّك محتوى dict حسب المفتاح داخل القالب الجزئي. وهكذا تحصل على الجذر عبر .top وعلى الشجرة الفرعية عبر .svc، وكلاهما متاح في الوقت نفسه.
{{- define "mychart.tpl" -}}
name: {{ .top.Release.Name }}
port: {{ .svc.port }}
{{- end -}}أخطاء النطاق شائعة
الخطأ الشائع هو أن يقرأ قالب جزئي .Release.Name رغم استدعائه بنطاق ضيق. تحقق دائمًا من السياق الذي مررته فعليًا.
صيّر للتحقق من النطاق
شغّل helm template . وتأكد من أن مخرجات القالب الجزئي ممتلئة. وتشير الحقول الفارغة عادةً إلى وصول نطاق غير صحيح إلى القالب الجزئي.
helm template my-release .تحقق سريع
يحتاج قالب جزئي إلى شجرة فرعية وإلى .Release.Name. كيف تمرر كليهما؟
مراجعة: تمرير النطاق
تحدد الوسيطة التي تأتي بعد اسم القالب الجزئي نقطته. مرّر النقطة الجذر، أو شجرة فرعية، أو dict للجمع بينهما. ويؤدي النطاق الخاطئ إلى مخرجات فارغة. 🎯
الأسئلة الشائعة
هل درس «تمرير النطاق إلى قالب مسمّى» مجاني؟
نعم — نص درس «تمرير النطاق إلى قالب مسمّى» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «تمرير النطاق إلى قالب مسمّى»؟
أرسل كائن السياق الصحيح إلى Partial تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «تمرير النطاق إلى قالب مسمّى»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تعريف Partial باستخدام define
- إدراج Partials باستخدام template وinclude
- مساعدا Fullname وLabels القياسيان
- تمرير النطاق إلى قالب مسمّى