السلام عليكم و رحمة الله و بركاته
---------------------------------------------------
في هذا الموضوع اردت ان ابرز اهم التغيرات و التجديدات الي حصلت في ال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![]()
و كمثال على ذلك
و يتم استعلامها بالطريقة التالية في الPHP5كود 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>
كود 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
مع تحيات اخوكم هاشم و ارجو ان يعجبكم الدرس
السلام عليكم





