بسم الله الرحمن الرحيم
الإخوة الأكارم تحية طيبة للجميع ، وبعد ...
لقد تطرق أحد الإخوة بشرح لطريقة استخدام أنظمة القوالب المنتشرة والمعروفة للأغلب ، وكان الشرح في غاية الجمال ،،، ونتمنى منه المزيد .
أما بالنسبة لي فإنني سوف أقدم لكم طريقة مسبطة لصنع نظام قوالب شخصي خاص بكم ،،، وذلك للأسباب التالية :
1. تعود أن لا تعتمد على code جاهز أبداً.
2. حاول أن تحلل عملك.
3. حاول أن تنظم كودك البرمجي.
4. حاول أن تتجنب التعقيد.
5. ليكن عامل الزمن في ترجمة الكود من أهم ما تضعه في علمك.
سوف أشرح لكم وأضع لكم نظام القوالب الشخصي والذي سوف أسميه (Otaibah Simple Template) ونختصره بـ (OST)
قبل أن أبدأ فإن طريقتي تعتمد على الدوال فقط بدون الخوض في غمار الـ OOP ،، لأنني أحب أن أستخدم الأيسر مادام مشروعي دون المتوسط في الحجم .
كل ما نريده هو مايلي :
1. ملف نسميه function.php
ويكون بداخله دالة صغيرة تقوم بفتح ملف الـ html وقرائته كاملاً
كما يلي :
كود:
function get_temp($file){
$fp=fopen($file,'r');
$temp=fread($fp,filesize($file));
fclose($fp);
return $temp;
}
2. ملف التصميم بالـ html وليكن مثلاً temp_item.htmlولنفرض أن لدينا الكود التالي:
كود:
<html><body>
<table>
<tr>
<td>Title</td>
<td>Author</td>
</tr>
<tr>
<td>{title}</td>
<td>{author}</td>
</tr>
</table>
</body>
</html>
لاحظ أننا قمنا بتسمية متغيرين في كود الـ html بـ {title} و {author}
* قد ينبادر سؤال منطقي : كيف وضعنا متغيرات في الـ html وهي لا تقبل ذلك بل انها لغة ثابتة وغير ديناميكية ؟
سوف تعرف الإجابة بعد نهاية الدرس
3. لنصنع ملف الـ show_items.php
وهذا الملف مخصص لعرض أسماء الكتب وأسماء المؤلفين
كل ما علينا عمله هو :
كود:
<?
//نقوم بتضمين ملف الفنكشن والذي يحتوي على دالة قراءة الملف
require("function.php");
//يتم إسناد نتيجة الدالة والتي ستكون منطقياً هي نص الملف المراد فتحه
$temp_item = get_temp('temp_item.html');
//هنا نقوم بإستخدام دالة الإستبدال ، ونقوم بإستبدال متغيراتنا السابقة بما نريده كما يلي
$output = str_replace("{title}","PHP Programming",$temp_item);
$output = str_replace("{author}","ZAJIL",$temp_item);
//طباعة الملف بعد عملية الإستبدال
print $output;
?>
بذلك نكون حققنا عدة مكاسب :
أ. فصلنا الكود البرمجي على البنية الهيكلية التصميمية والتي تكون بالـ html
ب. حصلنا على سرعة في التنفيذ أسرع من الطريقة التقليدية من خلط الكودين مع بعضهما
ج. أسهل في التعديل
أتمنى أن كنت قد قدمت لكم شيئاً نافعاً على عجالة
وفقكم الله
أبو عتيبة