PHP5 و قواعد البيانات

عام 0 geek4arab
Spread the love
 PHP5 و قواعد البيانات  أضيف في: 30-2-1427هـ
في هذا الدرس اردت ان ابرز اهم التغيرات و التجديدات الي حصلت في ال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 CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013

<?xml version='1.0'?>
<thesoft>
<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>
</thesoft>

و يتم استعلامها بالطريقة التالية في الPHP5

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009

<?php
$thesoft = simplexml_load_file('thesoft.xml');

foreach($thesoft->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 CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010

<?php

$db = sqlite_open('thesoft.db');
$sql_query = 'SELECT user, pass from thesoftdb';
$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

مع تحيات اخوكم هاشم و ارجو ان يعجبكم الدرس

الكاتب: dr-dre67

الكاتب geek4arab

geek4arab

مواضيع متعلقة

التعليقات مغلقة