لقد رأيت ظهور Smarty 3 Alpha هذه الأيام، لذا أخذت وقتًا للقيام بزيارة واستطلاع رأي. يأتي النص التالي بشكل أساسي من الملف التمهيدي الخاص به:
بنية الملف الأساسية
Index.php
/ليبس/
Smarty.class.php #الملف الرئيسي
/libs/sysplugins/ # البرنامج المساعد الداخلي
داخلي.*
/plugins/ #ملحق خارجي، يمكن توسيعه بحرية
function.mailto.php
modifier.escape.php
/templates/ #Template، يمكن أن يكون قالب php خالصًا أو قالبًا ذكيًا تقليديًا
Index.tpl
Index_view.php عبارة عن مقتطف رمز اتصال ذكي كلاسيكي:
تتطلب ('Smarty.class.php')؛
$smarty=newSmarty;
$smarty->تعيين('foo','bar');
$smarty->display('index.tpl');
يبدو أنه لا يوجد فرق عن الإصدار السابق
SINGLETON
هل هذا منطقي؟
مقتطف الكود:
$smarty= Smarty::instance();
إن القالب الذكي قبل القالب يعادل إعادة تعريف مجموعة من لغات العلامات، لذلك يوفر Smarty3 نموذج قالب جديد يدعم قوالب بناء جملة PHP بشكل مباشر.
لكن السؤال الذي يطرح نفسه، هل ما زلنا بحاجة إلى استخدام القوالب؟
مثال على اقتباس قوالب نوع PHP:
مقتطف التعليمات البرمجية:
$smarty->display('php:mytemplate.tpl');
يمكن استخدام الصيغة المألوفة مباشرة في القالب: <?=$foo?> <?=$bar?>
إذا كنت تستخدم قوالب PHP، فيجب حل المشكلات الأمنية بنفسك. لكن هذه ليست مشكلة بالنسبة للفرق الناضجة.
بالإضافة إلى ذلك، يبدو الدعم الجديد لقوالب نوع السلسلة أكثر قوة، كما أن المسار بعيدًا عن القوالب يبتعد أكثر فأكثر:
مقتطف التعليمات البرمجية:
$smarty->display('string:هذا هو القالب الخاص بي، {$foo}!');
الروابط ذات الصلة من Smarty3
Smarty 3 Alpha مع SVN--من الاقتصادي جدًا اختيار خدمة svn التي يوفرها googlecode
المجموعة البريدية للمطورين Smarty 3