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