بسم الله الرحمن الرحيم
محركات القوالب تعتبر تقدم كبير نحو الأمام فيما يخص بالبرمجة النظيفة وهذا ليس فيه نقاش ابدا
ولكن كما تعلم ان المحركات تأخذ حيز كيبر من الذاكرة بسبب استخدام دوال التعابير القياسية وما جاورهما
سنستخدم طريقة يتم العمل بها في برنامج الووردبريس وانظمة اخرى
لنفرض اننا نريد استخراج معلومات من جدول الأعضاء
ولدينا الجدول بهذه الطريقة
user_id رقم العضو
user_name اسم الدخول
user_email البريد الالكتروني
user_active صفر يعني غير مفعل و واحد يعني مفعل
ملف users.php
-
include('config.php'); // ملف الاتصال بالقاعدة
-
// سنقوم بجلب اخر عشرة اعضاء
-
$data[]=$row; // سيتم حفظ جميع البيانات في مصفوفة
-
}
-
// نقوم بجلب ملف التصميم وطباعته
-
// الملف موجود داخل مجلد templates
-
include('templates/users.html');
ملف users.html
-
<div id="users">
-
<table style="background:#CEC2C2" border="0" cellspacing="1" cellpadding="1" width="100%">
-
<tbody>
-
<tr style="background:#6DB568">
-
<td>رقم العضو</td>
-
<td>اسم الدخول</td>
-
<td>البريد الالكتروني</td>
-
<td>الحالة</td>
-
</tr>
-
-
<!-- بداية عرض البيانات-->
-
<?php foreach( $data as $field){ ?>
-
<tr style="background:#CEC2DD">
-
<td><?= $field['id']; ?></td>
-
<td><?= $field['name']; ?></td>
-
<td><?= $field['email']; ?></td>
-
<td><?= $field['status']; ?></td>
-
</tr>
-
<?php } ?>
-
<!-- نهاية العرض--></tbody></table>
-
</div>
ولكن عند طباعة قيمة حقل الحالة active يتم طباعة اما صفر او واحد
سنقوم بعمل شرط صغير اذا كان الحقل قيمته صفر سيطبع غير نشيط واذا كان واحد سنطبع نشيط
ويكون هكذا
سنستبدل هذا السطر
بهذا
كما يمكنك عمل اي شيئ داخل ملف التصميم المهم ان يكون ملف php بدون اكواد التصميم
يمكن انشاء دالة لجلب ملفات التصميم مثلا
ويتم حفظها في ملف اسمه مثلا functions.php
ويصبح الملف هكذا
-
include('config.php'); // ملف الاتصال بالقاعدة
-
include('functions.php'); // ملف الدوال
-
// سنقوم بجلب اخر عشرة اعضاء
-
$data[]=$row; // سيتم حفظ جميع البيانات في مصفوفة
-
}
-
// نقوم بجلب ملف التصميم وطباعته
-
load_template('users.html');
هذا فان اخطأت فمن نفسي والشيطان وان اصبت فمن الله عز وجل
وصلي اللهم على محمد واله وصحبه اجمعين
28 أبريل, 2009 في الساعة 7:28 م
السلام عليكم و رحمه الله و بركاته
اسمحلى انحنى لك تقدير و احتراما على الدرس الجميل
الصراحه انا نفسى اتعلم نظام كويس لفصل التصميم عن البرمجه
ياريت لو تقدر تفدنا اكتر
28 أبريل, 2009 في الساعة 8:35 م
عليكم السلام ورحمة الله وبركاته
لا ياخي الانحناء لله وحده
وبارك الله فيك
بالنسبة لنظام القوالب يوجد الكثير من الدروس من بينها
منتدى بي اتش بي
http://www.montadaphp.net
وقم بزيارة قسم smarty
وانا في هذا الدرس شرحت كيفية التعامل مع البرمجة بدون محرك قوالب
30 أبريل, 2009 في الساعة 10:37 ص
اشكرك على هذا الشرح الممميز والواضح وان شاء الله نتعلم الـ php على ايدك يا استاذ
23 مايو, 2009 في الساعة 9:32 ص
اخى عبد الواحد اشكرك على الشرح ولكن فى استفسار عندى ازاى هيتم طبع النتيائج من قاعد البيانات فى ملف التصميم htm ؟ انا شايف انك مش واضع اى شيئ لطباعة المصفوفة data[] ,,,,,
23 مايو, 2009 في الساعة 9:16 م
شوف الأن ملف users.html وستعرف كيف تطبع النتائج
اقصد في الدرس فوق
24 مايو, 2009 في الساعة 12:29 ص
10 على 10 بجد أستاذ
انا كنت بفكر اعمل حاجة بالشكل ده عشان ارتاح من فتح ملف البرمجة كل شوية عشان اغير حاجة مش عاجبانى بس كنت متعقد من تكرار while مكنتش متخيل انه ممكن اعملها كده.
كنت بقول لازم اتعلم سمارتى عشان اعمل حاجه زى كده , انت حمستنى انى اجرب اغير نظام شغلى.
جزاكم الله خيراً على الدرس الرائع نفعنا الله بك اخى العزيز
12 يونيو, 2009 في الساعة 2:42 ص
الله يعطيك الصحة , شرح ممتاز
عندي استفسار , شنو فائدة كود المسح ؟
#
mysql_free_result($sql); // مسحه من الذاكرة
#
unset($data);
12 يونيو, 2009 في الساعة 9:38 ص
عندما يتم تعريف متغير او استعلام بيانات من القاعدة فان ذلك يخزن في الذاكرة اقصد ذاكرة السرفر
وماذا لو كان هناك 100 زائر في الوقت نفسه كيف ستكون الذاكرة ؟
ولهذا ينصح افراغ الذاكرة بعد انتهاء عمل المتغير او الاستعلام وبهذا يكون برنامجنا خفيف وهذا من مميزات المبرمج المحترف وهو انه يفكر ان يكون دائما برنامجه خفيف
20 يونيو, 2009 في الساعة 11:16 م
[...] [...]
4 أغسطس, 2009 في الساعة 10:09 م
السلام عليكم
ممتاز جدا
26 أغسطس, 2009 في الساعة 12:57 م
السلام عليكم الله يعطيك العافية ويوفقك ان شاء الله
25 أكتوبر, 2009 في الساعة 12:44 ص
Merci c’est un tres bon cour