1.x → 2.0

الانتقال إلى MOFTemplate 2.0

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

الخلاصة

إذا كانت قوالبك تعتمد على المتغيرات والشروط والحلقات وinclude_tpl فقط، فغالبًا الانتقال مباشر مع مراجعة بسيطة للـ escaping.

ما بقي

الميزة2.0
assign()مدعومة
المتغيراتمدعومة مع HTML escaping افتراضي
if / elseif / elseمدعومة بصيغة مبسطة
loopمدعومة، بما فيها nested loops وposition
include_tplمدعومة داخل مجلد القوالب فقط
show()موجود للتوافق الأساسي؛ يفضّل render()

ما أزيل ولماذا

القديمالقرار
PHP داخل القالبأزيل لأسباب أمنية وفصل المسؤوليات
SQL / do_sql()أزيل؛ جلب البيانات مسؤولية التطبيق
pagination داخل المحركأزيل؛ مسؤولية التطبيق أو طبقة البيانات
$GLOBALSلا تُدمج تلقائيًا مع القالب
استدعاء دوال PHP الحرةغير مدعوم

خطوات التحديث

استبدل ملف المحرك

استخدم moftemplate-engine.php من حزمة 2.0 في مشروع تجريبي أولًا.

مرّر البيانات صراحةً

echo $tpl->render('page.html', $data);

راجع HTML الخام

المتغيرات أصبحت escaped افتراضيًا. استخدم {raw trusted_html} فقط للمحتوى الموثوق أو المنقّى مسبقًا.

انقل SQL وpagination إلى التطبيق

حضّر البيانات قبل استدعاء القالب.

شغّل الاختبارات التطبيقية

راجع القوالب المهمة وحالات الخطأ قبل نقل التحديث للإنتاج.

النسخة الأصلية

النسخة 1.4.0.2 محفوظة للأرشفة والدراسة فقط، وليست موصى بها للإنتاج على PHP الحديثة. تجدها في صفحة التحميل.