معالج القوالب

رسم تخطيطي يوضح جميع العناصر الأساسية وتدفق معالجة محرك القوالب.

معالج القوالب (المعروف أيضًا بمحرك القوالب أو محلل القوالب ) هو برنامج مصمم لدمج القوالب مع البيانات (المحددة بنموذج بيانات ) لإنتاج مستندات أو برامج . [ 1 ] [ 2 ] [ 3 ] تُعرف اللغة التي تُكتب بها القوالب بلغة القوالب . لأغراض هذه المقالة، يُقصد بالمستند الناتج أي نوع من المخرجات المنسقة، بما في ذلك المستندات وصفحات الويب وشفرة المصدر (في توليد شفرة المصدر )، سواءً كانت كاملة أو مجزأة. عادةً ما يُدمج محرك القوالب كجزء من نظام قوالب الويب أو إطار عمل التطبيق ، ويمكن استخدامه أيضًا كمعالج مسبق أو مرشح .

الميزات النموذجية

تتضمن محركات القوالب عادةً ميزات شائعة في معظم لغات البرمجة عالية المستوى ، مع التركيز على ميزات معالجة النصوص العادية .

وتشمل هذه الميزات ما يلي:

محركات القوالب المضمنة

على الرغم من أن معالجات القوالب عادةً ما تكون برنامجًا منفصلاً يُستخدم كجزء من نظام أو إطار عمل، إلا أن لغات القوالب البسيطة تُدمج عادةً في ميزات معالجة النصوص في لغات البرمجة العامة ، وفي برامج معالجة النصوص، وخاصةً محررات النصوص أو معالجات الكلمات . وتُعد لغات القوالب عمومًا لغات استبدال بسيطة فقط، على عكس الإمكانيات الأكثر تعقيدًا في معالجات القوالب المتكاملة، ولكنها قد تحتوي على بعض المنطق.

من الأمثلة البسيطة على ذلك سلاسل تنسيق الطباعة "printf" ، الموجودة في العديد من لغات البرمجة، والمقتطفات البرمجية ، الموجودة في عدد من محررات النصوص ومحررات شفرة المصدر . في معالجات النصوص، تُعد القوالب ميزة شائعة، بينما يُشار غالبًا إلى التعبئة التلقائية للقوالب باسم دمج المراسلات .

من الأمثلة التوضيحية على الطبيعة التكاملية للتحليل والقوالب، sأمر الاستبدال (substitute) في معالج النصوص sed ، والذي نشأ من البحث والاستبدال في محرر النصوص ed . تأتي أوامر الاستبدال على الشكل التالي : `<sub> s/regexp/replacement/n</sub>`, حيث regexp`<sub>n</sub>` تعبير نمطي لتحليل المدخلات، و`<sub>n</sub>` replacementقالب بسيط للمخرجات، إما نص حرفي أو سلسلة تنسيق تحتوي على الأحرف &اللازمة للمطابقة الكاملة أو تسلسلات الهروب\1 الخاصة للتعبير الفرعي \9رقم n . على سبيل المثال، s/(cat|dog)s?/\1s/gيستبدل `<sub>n</sub>` جميع حالات "cat" أو "dog" بـ "cats" أو "dogs"، دون تكرار أي "s" موجودة: `<sub>n</sub>` (cat|dog)هو التعبير الفرعي الأول (والوحيد) في التعبير النمطي، و`<sub>n</sub>` \1في سلسلة التنسيق يستبدل هذا التعبير في المخرجات.

عناصر النظام

تتكون جميع أنظمة معالجة القوالب من هذه العناصر الأساسية على الأقل:

  • نموذج بيانات مرتبط ؛
  • قالب مصدر واحد أو أكثر ؛
  • معالج أو محرك قوالب ؛
  • يتم توليد المخرجات على شكل مستندات نتائج .

نموذج البيانات

قد يكون هذا قاعدة بيانات علائقية ، أو ملف مصدر مثل XML ، أو صيغة بديلة لقاعدة بيانات الملفات المسطحة ، أو جدول بيانات ، أو أي مصدر آخر من مصادر البيانات المنسقة مسبقًا. بعض أنظمة معالجة القوالب محدودة في أنواع البيانات التي يمكن استخدامها، بينما صُممت أنظمة أخرى لتوفير أقصى قدر من المرونة وتسمح باستخدام أنواع عديدة من البيانات.

قالب المصدر

يتم تحديد قوالب المصدر تقليديًا:

  • وفقًا للغة برمجة موجودة مسبقًا؛
  • وفقًا للغة قوالب محددة خصيصًا؛
  • وفقًا لخصائص تطبيق برمجيات الاستضافة؛ أو
  • وفقًا لمزيج هجين من بعض أو كل ما سبق.

محرك القوالب

محرك القوالب مسؤول عن:

بالإضافة إلى ذلك، تسمح بعض محركات القوالب بخيارات تكوين إضافية.

وثائق النتائج

قد تتكون هذه من مستند كامل أو جزء من مستند.

الاستخدامات

تُستخدم معالجة القوالب في سياقات متنوعة ولأغراض مختلفة. ويعتمد الغرض المحدد عادةً على تطبيق البرنامج أو محرك القوالب المستخدم. ومع ذلك، فإن مرونة أنظمة معالجة القوالب غالبًا ما تتيح استخدامات غير تقليدية لأغراض لم يقصدها المصممون الأصليون.

محرك القوالب

محرك القوالب هو نوع محدد من وحدات معالجة القوالب، يتميز بجميع الخصائص الرئيسية للغات البرمجة الحديثة . وقد تطور مصطلح " محرك القوالب" كوصف عام للغات البرمجة التي كان غرضها الأساسي أو الحصري معالجة القوالب والبيانات لإخراج النصوص. ويُستخدم هذا المصطلح بشكل ملحوظ في تطوير مواقع الويب باستخدام نظام قوالب الويب ، كما يُستخدم في سياقات أخرى أيضًا. [ 4 ]

إنشاء المستندات

تستخدم أطر عمل إنشاء المستندات عادةً معالجة القوالب كنموذج مركزي لإنشاء المستندات.

توليد الشفرة المصدرية

تدعم أدوات توليد التعليمات البرمجية المصدرية توليد التعليمات البرمجية المصدرية (كمستندات ناتجة) من نماذج البيانات المجردة (مثل UML، والبيانات العلائقية، ومخازن بيانات المؤسسات الخاصة بالمجال) لمجالات تطبيق معينة، أو منظمات معينة، أو لتبسيط عملية الإنتاج لمبرمجي الكمبيوتر .

وظائف البرنامج

يقوم محرك قوالب الويب بمعالجة قوالب الويب وبيانات المصدر (عادةً من قاعدة بيانات علائقية ) لإنتاج صفحة ويب واحدة أو أكثر ، أو أجزاء من صفحات. وهو يُدمج عادةً كجزء من نظام قوالب الويب أو إطار عمل التطبيق . حاليًا، يُستخدم برنامج معالجة القوالب بكثرة في سياق تطوير مواقع الويب .

مقارنة

XSLT هو نموذج لمعالجة القوالب صممته W3C . وهو مصمم في الأساس لتحويل بيانات XML (إلى مستندات ويب أو مخرجات أخرى).

تدعم لغات البرمجة مثل بيرل ، وبايثون ، وبي إتش بي ، وروبي ، وسي شارب ، وجافا ، وجو معالجة القوالب إما بشكل أصلي أو من خلال مكتبات ووحدات إضافية. وتُعد صفحات جافا سيرفر [ 5 ] ، وصفحات الخادم النشطة [ 6 ] ، وجينشي (لغة بايثون)، وإي روبي أمثلة على محركات القوالب المصممة خصيصًا لتطوير تطبيقات الويب.

علاوة على ذلك، يتم تضمين معالجة القوالب أحيانًا كميزة فرعية في حزم البرامج مثل محررات النصوص ، وبيئات التطوير المتكاملة ، وأنظمة إدارة قواعد البيانات العلائقية .

فوائد استخدام محركات القوالب

  • يشجع على تنظيم شفرة المصدر في طبقات متميزة تشغيليًا (انظر على سبيل المثال، MVC )
  • يعزز الإنتاجية من خلال تقليل تكرار الجهد غير الضروري
  • يعزز العمل الجماعي من خلال السماح بفصل العمل بناءً على مجموعة المهارات (مثل المهارات الفنية مقابل المهارات التقنية).

انظر أيضاً

مراجع

  1. نيمير، باتريك (2002). تعلم جافا . سيباستوبول: أورايلي. ISBN 0-596-00285-8.
  2. مانوليسكو، دراغوس (2006). لغات أنماط تصميم البرامج 5. ريدينغ: أديسون-ويسلي بروفيشنال. ISBN 0-321-32194-4.
  3. فاولر، مارتن (2003). أنماط هندسة تطبيقات المؤسسات . بوسطن: أديسون-ويسلي. ISBN 0-321-12742-0.
  4. (انظر على سبيل المثال، Velocity، TemplateToolkit، Freemarker).
  5. صفحات خادم جافا هي تقنية أطلقتها شركة صن لاستخدامها مع لغة برمجة جافا. "تقنية صفحات خادم جافا" . 10-10-2006 . تم الاطلاع عليه بتاريخ 10-10-2006 .
  6. تم إصدار ASP 1.0 في الأصل للاستخدام مع Microsoft VBScript و JScript. وكان امتدادًا لـ Microsoft IIS.