الدرس الأول – المتغيرات:
تمهيد:
تعتبر هذه الدروس أن لديك خلفية معقولة عن كل من برمجة PHP و توصيف HTML، قم بالحصول على ملف محرك القوالب المتوفر مجاناً في الموقع http://smartemplates.php4arab.info، ضع الملف SmarTemplates.php داخل نفس المجلد الذي تعتزم كتابة برامجك فيه حتى يكون بالإمكان الوصول إليه من خلال الدالة include، استخدم المفكرة أو برنامجك المفضل لتحرير كل من ملفات php و ملفات القوالب على الشكل HTML.
تمثيل المتغيرات:
لنفترض أنه لديك المتغيرات التالية:
حيث يمثل $a متغيراً نصياً، ويمثل $b متغيراً عددياً، كما يمثل $c الوقت والتاريخ، فإن ملف القالب سيكون بالشكل التالي:كود PHP:$a = "هذا البرنامج هو تجربة";
$b = 24500;
$c = time();
include "SmarTemplates.php";
print $ST->STTransFile("template.html", compact('a', 'b', 'c'));
حيث تستخدم الواصفة st-echo لتمثل قيم المتغيرات، يمكنك وضع الواصفة st-echo في أي مكان تريد، كما يمكنك تخصيص صفة خاصة لطريقة كتابة المتغير كما استخدمنا في المثال الصفة format لتحديد شكل ظهور الوقت والتاريخ، حيث تعني d-m-Y h:ia أن التاريخ سيظهر على الشكل يوم-شهر-سنة ثم الساعة:الدقيقة وصباحاً أو مساءً.كود:<html> <body> a = <st-echo>$a</st-echo> <br> b = <st-echo>$b</st-echo> <br> c = <st-echo format="d-m-Y h:ia">$c</st-echo> </body> </html>
لاحظ أن بإمكانك تغيير ملف القالب في أي وقت من خلال أي برنامج تصميم صفحات ويب، كما يمكنك نقل الواصفة من مكان إلى آخر وتكرارها وتغيير خصائصها، دون الحاجة إلى الرجوع إلى ملف البرمجة مرة أخرى.
خصائص تمثيل المتغيرات:
يمكنك استخدام العديد من خصائص الواصفة st-echo للحصول على إمكانية أخرى دون العودة إلى ملف البرمجة، تخيل مثلاً أنك تحتاج إلى عرض جزء من قيمة المتغير النصي إذا زاد عن طول معين فإنك عندئذ لا تحتاج إلا إلى إضافة الخاصية limit إلى الواصفة كما في المثال التالي:
حيث ستقوم الواصفة تلقائياً بعرض 15 حرفاً فقط من قيمة المتغير $aكود:<st-echo limit="15">$a</st-echo>
توجد العديد من الخصائص للواصفة st-echo تعطيك إمكانيات عديدة يمكنك مراجعتها في الموقع http://smartemplates.php4arab.info/d...hp?lang=arabic
الدعم للغة العربية:
يمكن للخاصية format أن تجعل الواصفة st-echo تقوم بعرض تاريخ مترجم باللغة العربية، أو محول للتقويم الهجري تلقائياً بمجرد استخدام الرمز ar: أو hj: في بداية الخاصية كما في الأمثلة التالية:
كما يمكن وبسهولة استخدام خاصية الكميات المعدودة لضبط التمثيل الصحيح للقيم المعدودة باللغة العربية، فبدلاً من الطريقة المستهجنة التي تجدها في العديد من المواقع العربية للعد على الشكل (2 عضو/عضواً) أو على الشكل (24 ملفات) والتي تبدو وكأنها لغة مكسرة، يمكنك باستخدام الخاصية countable جعل محرك القوالب يضبط الشكل الصحيح للكمية المعدودة كما في المثال التالي:كود:<st-echo format="ar:l, d-F-Y">$c</st-echo> <st-echo format="hj:l, d-F-Y">$c</st-echo>
حيث يقوم المحرك وبناءً على القيمة العددية للمتغير $X في انتقاء الكلمة المناسبة من بين الكلمات التي ذكرتها.كود:عدد الأعضاء المتواجدين الآن: <st-echo countable="ar:لا أحد,عضو واحد,عضوان,أعضاء,عضواً">$X</st-echo>
تمثيل قيم المصفوفات:
يمكن بسهولة أيضاً تمثيل قيمة ضمن مصفوفة، فإذا كان المتغير $Y عبارة عن مصفوفة على الشكل:
فإنك تستطيع عرض القيم بالشكل التالي:كود:$Y = Array ('name'=>'Ahmad', 'telephone'=> 42399122);
الاختصارات:كود:<st-echo>$Y[name]</st-echo>
يمكن أيضاً استخدام الشكل المختصر:
وذلك للاختصار أثناء الكتابة، كما يمكن أيضاً استخدام الشكل الثانوي للواصفات، عندما يحتاج الأمر إلى ذلك، ففي بعض الأحيان قد تحتاج إلى وضع قيمة متغير داخل واصفة HTML اعتيادية كما في المثال التالي:كود:<$Y> بدلاً من <st-echo>$Y</st-echo>
حيث لا تتقبل المحررات هذا الشكل وتعتبره خللاً في الهيكل لذلك يمكنك استخدام هذا الشكل:كود:<font color="<$color>"> </font>
فالمحرك يعتبر أن الواصفات يمكنها أن تستخدم الأقواس { و } بدلاً من < و > إذا ما كانت داخل واصفة أخرى وذلك للتوافق مع محررات صفحات الويب.كود:<font color="{$color}"> </font>
حمل تطبيقات الأمثلة هنا بالترتيب:
تمثيل المتغيرات
دعم اللغة العربية
تمثيل قيم المصفوفات
الاختصارات



.. سأقوم إن شاءالله بمحاولة التطبيق
