بسم الله الرحمن الرحيم
تحدثنا في الدرس السابق طباعة المتغيرات و انواعها و التعامل معها مع النصوص بالإضافة الى التعامل مع الدوال التي من شأنها التعامل مع النصوص و بإمكانكم الإطلاع على الدروس السابقة من عبر الروابط التالية :
- [دورة php - الدرس الأول] - تحضير البرامج و كتابة اول برنامج
- [دورة php - الدرس الثاني] - المتغيرات و طريقة تعريفها و انواعها و التعامل معها
- [دورة php - الدرس الثالث] - الجزء الأول : الطباعة المدمجة و تنسيق الصفحات لعرضها
- [دورة php - الدرس الرابـع] - الجزء الثاني : طباعة المتغيرات في النصوص و بعض الدوال
اما في درسنا اليوم سنتحدث عن الثوابت و التعامل معها بالإضافة الى بعض الدوال التي لا يستغني عنها اي مبرمج php في اي كود يكتبه و على بركة الله نبدأ
الثوابت :
تعرف بأنها من مكونات اي لغة برمجة و تستخدم لتخزين قيم ثابتة سنستخدمها على طول البرنامج و لا يمكن التعديل على هذه القيم من خلال العمليات الحسابية و غيرها و نستفيد من الثابت ضمان عدم تغير قيمة محددة في البرنامج .
اما بالنسبة لطريقة تعريف الثابت فإننا نستخدم الكلمة المحجوزة define و هي تأخذ باراميترين (معاملين) و الصيغة العامة له كالتالي :
</b>و Const_Name تعني اسم الثابتكود PHP:
define("Const_Name","Const_Value");
و Const_Value تعني قيمة الثابت
و مثال عليها كالتالي :
و هنا قمنا بتعريف ثابت اسمه PI ثم اعطيناه القيمة 3.14 و في السطر الثاني قمنا بطباعة جملة توضيحية ثم قيمة الثابتكود PHP:
<?
define("PI","3.14");
echo "PI value is... ".' '.PI;
?>
لاحظ في المثال السابق ان الثوابت تختلف عن المتغيرات في الإستخدام و الطباعة و التعريف فإسم المتغير يجب ان يبدأ بالإشارة $ اما اسم الثابت فلا و يفضل عند تعريف الثوابت استخدام الحروف الكبيرة كعرف برمجي ليس إلا
انظر المثال التالي :
</b>كود PHP:
<?
define("PI","3.14");
PI=PI+1;
echo "PI value is... ".' '.PI;
?>
في هذا المثال قمنا بإضافة سطر برمجي لإجراء عملية على الثابت و هو :
</b>كود PHP:
PI=PI+1;
و هذا سوف ينتج عنه خطأ لأننا قمنا بتعريف PI في السطر الأول على انها قيمة ثابتة ولا يمكن التعديل على قيمتها
اما الآن لاحظ هذا المثال :
</b>كود PHP:
<?
define("PI","3.14");
$x=PI+1;
echo "PI value is... ".' '.PI;
?>
وقمنا بإضافة سطر عملية حسابية و هنا سيكون هذا السطر صحيح لأننا لا نعدل على قيمة PI لكن نستخدم قيمتها و بجمع 1 و تخزين الناتج في المتغير x$
و هناك بعض الثوابت المحجوزة في النظام مثل الثابت PHP_OS والذي يقوم بتحديد نوع نظام التشغيل المستخدم (السيرفر) و مثال عليها كالتالي :
</b>كود PHP:
<?
echo PHP_OS;
?>
والناتج سيكون حسب نوع النظام و عندي ظهر WINNT
والأن سننتقل الى ما يسمى بمتغيرات النظام و هي مجموعة من المتغيرات المعرفة مسبقا في مترجم اللغة بحيث انه عند كتابتها في البرنامج يستبدلها المترجم بقيمة معينة و من الأمثلة عليها HTTP_USER_AGENT$ و هو متغير يعطي نوع نظام التشغيل لجهازك بالإضافة الى نوع المتصفح و غيرها من المعلومات و مثال عليها :
</b>كود PHP:
<?
echo $HTTP_USER_AGENT;
?>
و ظهرت النتيجة عندي كالتالي :
</b>كود PHP:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9 Facicons
و من الممكن ان تظهر بنتيجة مختلفة اذا كنت تعمل على نظام تشغيل مختلف او متصفح مختلف
الأن ننتقل الى موضوع اخر و هو مجموعة من الدوال و اعذروني على توزيع الدوال على الدروس لكنها كثيرة جدا جدا ولذلك انا اقسمها على الدروس
1 - الدالة gettype و هي تقوم بإرجاع نوع البيانات للعنصر المرسل لها و هي مفيدة جدا للمبرمج في بعض الأحيان التي يريد المبرمج فيها معرفة نوع البيانات المستخدمة مثلا هل هو صحيح integer او مزدوج double او نصي string و التالي مثال عليها :
</b>كود PHP:
<?
$num1 = 3.5;
$num2 = 3;
$str = "Word";
echo 'num1 is '.gettype($num1).'<br>';
echo 'num2 is '.gettype($num2).'<br>';
echo 'str is '.gettype($str).'<br>';
?>
و سيكون الناتج كالتالي :
كود PHP:
num1 is double
num2 is integer
str is string
و بإمكانك مشاهدة ناتج التنفيذ مباشرة عبر الرابط التالي :
http://www.al79n-php.info/less5/get.php
2 - الدالة settype و هذه الدالة تستخدم للتحويل بين انواع البيانات و تأخذ معاملين الأول هو المتغير الذي نريد تحويل نوعه و الثاني هو النوع الذي نريد التحويل اليه وللتوضيح انظر المثال التالي :
</b>كود PHP:
<?
$num = 10; // this integer
settype($num,"string");
echo gettype($num);
?>
في السطر الأول عرفنا متغير اسمه num$ من النوع الصحيح و اعطيناه قيمة = 10
و في السطر الثاني قمنا بتحويل نوع المتغير num$ من صحيح على نصي بإستخدام الدالة settype
و في السطر الأخير قمنا بطباعة نوع المتغير نفسه و هو num$
و بالتالي بعد تنفيذ الكود التالي سيكون نوع المتغير num$ هو نصي و ليس صحيح و سيطبع النوع string و بإمكانك رؤية النتيجة عبر الرابط التالي :
http://www.al79n-php.info/less5/set.php
3 - الدالة isset : احيانا في المشاريع الكبيرة التي تكون عدد السطور البرمجية فيها بالمئات يقوم المبرمج بإستخدام و تعريف متغيرات كثيرة و ربما يسهو المبرمج و يقوم بتعريف المتغير مرتين مما سينتج خطأ في المخرجات و من الأمثلة عليها ان المبرمج قام بتعريف المتغير x$ في بداية البرنامج لتخزين الراتب الشهري للموظف و بعد 100 سطر قام بتعريف المتغير نفسه x$ لتخزين قيمة الرقم الوظيفي للموظف و بذلك ستضيع قيمة الراتب الشهري للموظف لأنه تم استخدام المتغير لتخزين الرقم الوظيفي
اذا هذه الدالة تساعد المبرمج في معرفة اذا ما كان قد تم تعريف المتغير ام لا في البرنامج لاحظ المثال التالي :
</b>كود PHP:
<?
$num = 10;
echo isset($num);
?>
هنا قمنا بتعريف متغير اسمه num$ اعطيناه القيمة 10
ثم قمنا بطباعة هل هذا الرقم معرف في البرنامج ام لا وهنا ستكون النتيجة طباعة الرقم 1 لأن هذه الدالة ترجع قيمة (1) اذا كان المتغير موجود مسبقا في البرنامج و لا ترجع شيء NULL اذا كان غير معرف لاحظ المثال التالي للفحص المتغير الغير معرف :
</b>كود PHP:
<?
echo isset($num);
?>
وهنا سيكون الناتج صفحة فارغة لأن المتغير غير معرف مسبقا لذلك سترجع الدالة القيمة NULL
و بإمكانك مشاهدة النتائج مباشرة عبر الروابط التالية :
المتغير معرف مسبقا :
http://www.al79n-php.info/less5/isset1.php
المتغير غير معرف مسبقا :
http://www.al79n-php.info/less5/isset2.php
4 - الدالة unset : و تستخدم هذه الدالة لحذف المتغير تماما من الذاكرة لإعادة الإستخدام في باقي اجزاء البرنامج و تستخدم كالتالي :
</b>كود PHP:
<?
$var = 10;
unset($var);
echo $var;
?>
و بهذا اخواتي الكرام نكون قد انتهينا من درس اليوم و اتمنى ان نقوم بالتطبيق و محاولة كتابة الكود يدويا و اي استفسار انا جاهز
تحياتي لكم
مواقع النشر (المفضلة)