السلام عليكم و رحمة الله و بركاته
---------------------------------------------------
في هذا الموضوع اردت ان ابرز اهم التغيرات و التجديدات الي حصلت في الPHP5 بالمقارنة بالPHP4 و بعد
تعدد النسخ من PHP4 التي نزلت في 2004 فأننا سنتحدث هذه المرة على نسخة قارة (stable) PHP5 التي نزلت في
الثلاثية الثانية من 2004 .
و قد جائت اهم التغيرات في التعامل مع الXML و بذلك اصبحت طريقة التعامل مع الXML اسهم من الطريقة
المستعملة في الPHP4 و مع ذلك اصبح الدعم كامل للكائنات و اضيفت SQLlite و هي محرك قواعد بيانات
-1 - استعمال SimpleXML
-2- استعمال SQLlite
SimpleXML
ربط الXML في الPHP يتم بإستعمال المحرك DOM و كان معقد بعض الشيئ و لكن مع الPHP5 تم اعادة برمجة المحرك DOM و تم تبسيط الربط بال XML
وبالتالي ولادة ال SimpleXML
و بإستعمال الDOM API كان بإمكان المبرمج عمل استعلامات جلب و اضافة و حذف من ملفات XML و لكن كان ذلك معقد و لكن مع الSimpleXML اصبح ذلك
simple
و كمثال على ذلك
كود PHP:
<?xml version="1.0"?>
<swalif>
<members>
<user>dr-dre67</user>
<pass>hiall</pass>
<email>dr-dre67@dr-dre67.dre</email>
</members>
<members>
<user>mich3aref</user>
<pass>ana3aref</pass>
<email>mich3aref@you.me</email>
</members>
</swalif>
و يتم استعلامها بالطريقة التالية في الPHP5
كود PHP:
<?php
$swalif = simplexml_load_file('swalif.xml');
foreach($swalif->members as $members) {
echo 'username : ' ,$members->user.'<br>';
echo 'password : ' ,$members->pass.'<br>';
echo 'Email : ' , $members->email.'<br><br>';
}
?>
و ستكون النتيجة كالأتي :
username : dr-dre67
password : hiall
email : dr-dre67@dr-dre67.dre
.... الخ
اذن الSimpleXMl اداة تحكم في الXMl سهلة و بسيطة جدا مثل ما لاحظتم و بإمكانكم عمل RSS بها بكل بساطة ...
SQLlite
تعتبر SQLlite اخر قاعدة بيانات تم اضافتها للPHP و قد تم اضافتها الى الPHP5 و تعتبر الSQLlite بسيطة
و سهلة بالمقارنة مع قواعد البيانات الأخرى و مشابهة لهم نوعا ما في الإستعلامات و لكن تختلف كونها لا تعتمد على Client/server مثل
الmysql او الoracle , فهي تعتمد على تخزين البيانات في ملفات و الجميل هنا ان الPHP5 يدعم هذا المحرك (SQLlite) بدون تركيب اي ملفات
اخرى لجعله يدعم الSQLlite
و البرامج التي تستعمل هذا المحرك (SQLlite) لا تستوجب اعدادات معينة في PHP.ini او غيرها من الملفات او تراخيص معينة للملفات بعكس الmysql
التي تحتاج الى اعدادات الClient/server - المزود/العميل و هذا يدل على بساطة استعمال هذا المحرك و امكانية تقدمه في المستقبل و منافسته لمحركات
قواعد بيانات اخرى ...و الجميل هنا ان PHP/GTK ايضا يدعم هذا المحرك لقواعد البيانات دون اي اعدادات
و من اهم مميزات هذا المحرك (SQLlite) 
انه يدعم عمل استعلامات جلب و اضافة و تحديث و حذف على البيانات الموجودة في الملف المخزن به الجداول..
انه سريع جدا اسرع 2 او 3 مرات من الmysql في الإستعلامات مع ضغط بسيط ...
انه يتحمل سعة كبيرة من البيانات الممكن تخزينها - قرابة 2 تيرا بايت

انه امكانية استعمال دوال PHP في الإستعلامات SQL (UDF)
و غيره ... 
و كمثال على ذلك
كود PHP:
<?php
$db = sqlite_open('swalif.db');
$sql_query = 'SELECT user, pass from swalifdb';
$result = sqlite_query($db, $sql_query );
while ($row = sqlite_fetch_array($result)){
print_r($row);
}
sqlite_close($db);
?>
و بالطبع مع هذه المميزات الأيجابية للمحرك هناك عيوب
فمثلا عند استعلام و الدخول على قاعدة بيانات و العمل عليها من قبل برنامج معين فإنها تغلق استعلام الكتابة عليه (INSERT) و على الجدول
المتستعلم عليه و لا يمكن لأني برنامج اخر له صلاحيات على نفس القاعدة بالدخول و عمل Writing على نفس الجدول الا بعد انتهاء البرنامج الأول
من كل اعمال الإستعلام على القاعدة ...
مع العلم ان الSQLlite غير مدعومة في جميع انواع انظمة الملفات (File Systems) مثل الNFS و الWindows 98 و 95 و Me
مع تحيات اخوكم هاشم و ارجو ان يعجبكم الدرس 
السلام عليكم