بسم الله الرحمن الرحيم
محركات القوالب تعتبر تقدم كبير نحو الأمام فيما يخص بالبرمجة النظيفة وهذا ليس فيه نقاش ابدا
ولكن كما تعلم ان المحركات تأخذ حيز كيبر من الذاكرة بسبب استخدام دوال التعابير القياسية وما جاورهما
سنستخدم طريقة يتم العمل بها في برنامج الووردبريس وانظمة اخرى
لنفرض اننا نريد استخراج معلومات من جدول الأعضاء
ولدينا الجدول بهذه الطريقة
user_id رقم العضو
user_name اسم الدخول
user_email البريد الالكتروني
user_active صفر يعني غير مفعل و واحد يعني مفعل
ملف users.php
كود PHP:
include('config.php'); // ملف الاتصال بالقاعدة
// سنقوم بجلب اخر عشرة اعضاء
$sql=mysql_query("select * from users order by user_id desc limit 10 ");
while( $row=mysql_fetch_array($sql) ){
$data[]=$row; // سيتم حفظ جميع البيانات في مصفوفة
}
// نقوم بجلب ملف التصميم وطباعته
// الملف موجود داخل مجلد templates
include('templates/users.html');
mysql_free_result($sql); // مسحه من الذاكرة
unset($data); // مسحه من الذاكرة
ملف users.html
كود PHP:
<div id="users">
<table border="0" cellspacing="1" cellpadding="1" style="background:#CEC2C2" width="100%">
< !-- بداية العنوان -->
<tr style="background:#6DB568">
<td>رقم العضو</td>
<td>اسم الدخول</td>
<td>البريد الالكتروني</td>
<td>الحالة</td>
</tr>
<!-- نهاية العنوان -->
<!-- بداية عرض البيانات-->
<?php foreach( $data as $user ){ // بداية دالة استخراج ما في المصفوفة?>
<tr style="background:#CEC2DD">
<td><?php echo $user['user_id']; ?></td>
<td><?php echo $user['user_name']; ?></td>
<td><?php echo $user['user_email']; ?></td>
<td><?php echo $user['user_active']; ?></td>
</tr>
<?php } // غلق دالة التكرار?>
<!-- نهاية العرض-->
</table>
</div>
ولكن عند طباعة قيمة حقل الحالة active يتم طباعة اما صفر او واحد
سنقوم بعمل شرط صغير اذا كان الحقل قيمته صفر سيطبع غير نشيط واذا كان واحد سنطبع نشيط
ويكون هكذا
سنستبدل هذا السطر
كود PHP:
<td><?php echo $user['user_active']; ?></td>
بهذا
كود PHP:
<td>
<?php
if( $user['user_active'] == 0 ){
echo 'غير نشيط';
}else{
echo 'نشيط';
}
?></td>
كما يمكنك عمل اي شيئ داخل ملف التصميم المهم ان يكون ملف php بدون اكواد التصميم
يمكن انشاء دالة لجلب ملفات التصميم مثلا
ويتم حفظها في ملف اسمه مثلا functions.php
كود PHP:
function load_template($template){
$folder='templates/'; // مجلد يتم وضع فيه ملفات القوالب
if( file_exists($folder.$template) ){
include($folder.$template);
}else{
echo 'ملف التصميم غير موجود <br />';
echo $template;
}
}
ويصبح الملف هكذا
كود PHP:
include('config.php'); // ملف الاتصال بالقاعدة
include('functions.php'); // ملف الدوال
// سنقوم بجلب اخر عشرة اعضاء
$sql=mysql_query("select * from users order by user_id desc limit 10 ");
while( $row=mysql_fetch_array($sql) ){
$data[]=$row; // سيتم حفظ جميع البيانات في مصفوفة
}
// نقوم بجلب ملف التصميم وطباعته
load_template('users.html');
mysql_free_result($sql); // مسحه من الذاكرة
unset($data); // مسحه من الذاكرة
هذا فان اخطأت فمن نفسي والشيطان وان اصبت فمن الله عز وجل
وصلي اللهم على محمد واله وصحبه اجمعين