0Pricing
Helm Academy · درس

تمرير النطاق إلى قالب مسمّى

أرسل كائن السياق الصحيح إلى Partial

تمرير النطاق إلى قالب مسمّى درس مجاني في Helm Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Helm Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Helm Academy 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) وفتح باقي دورة Helm Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Helm Academy 4 دروس في المجموع.

ماذا ستتعلم في «تمرير النطاق إلى قالب مسمّى»؟

أرسل كائن السياق الصحيح إلى Partial تتمرن على Helm Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Helm Academy؟

لا تُشترط خبرة سابقة. Helm Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «تمرير النطاق إلى قالب مسمّى»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Helm Academy هذا؟

نعم. كل درس في Helm Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تعريف Partial باستخدام define
  2. إدراج Partials باستخدام template وinclude
  3. مساعدا Fullname وLabels القياسيان
  4. تمرير النطاق إلى قالب مسمّى
← العودة إلى Helm Academy