تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مقال] معلومات سريعة : Constants
#1
Lightbulb 
السلام عليكم ورحمة الله وبركاتة


اليوم اقدم مجموعة معلومات عن الثوابت Constants وهي :-
     1 . ما هي الثوابت؟
     2 . طريقة كتابة الثوابت خارج داخل الكلاس.
     3 . انواع قيم الثوابت.
     4 . قراءة الثوابت.
     5 . فائدة دالة defined.
     6 . فائدة دالة get_defined_constants.
     7 . الثوابت السحرية Magic Constants.

ما هي الثوابت؟ :-
إن الثوابت عبارة عن قيم يتم تعريفها وغير قابله للتغيير.
مثال ::
نحتاج (ط PI) لحساب محيط الدائرة وهي قيمة ثابته لا تتغير تساوي بالتقريب 3.14.
او داخل برمجة ما تحتوى على اتصال بقاعدة بيانات فإن بيانات الاتصال يفضل استخدامها كثوابت ان كانت ستستخدم في شئ اخر لانها لن تتغير.

طريقة كتابة الثوابت :-
عامة يكون الثابت من قسمين :
     1 . اسم الثابت المستخدم لاستدعائه فيما بعد.
     2 . قيمة الثابت ولها انواع معينه سنوضحها في النقطة رقم 3.

يوجد طريقتان لكتابة الثوابت::
     1 . طريقة شائعة تكون خارج Class.

PHP كود :
define("NAME","Moamen"); 

     2 . طريقة داخل Class.

PHP كود :
const NAME "Moamen"
في كلا الحالتين نعوض عن Name باسم الثابت وعن "Moamen" بقيمة الثابت.

اشهر فرق بين
define و const :
     1 .
 define تعمل في run time .
     2 . const تعمل في compile time .

ملاحظات عن اسم الثابت :
     1 . يبدأ بحرف من الحروف الانجليزية او علامة underscore _ .
     2 . لا يمكن أن يبدأ بارقام .
     3 . لا يمكن أن يحتوى على احرف غير الانجليزية.

أنواع قيم الثوابت :-
     1 . ما قبل PHP 5.6.
          يقبل فقط القيم الفردية مثل Boolean و Integer و Float و String .
     2 . ما بعد PHP 5.6.
          بالاضافة للقيم الفردية تم اضافة Array و Resource ولكن يجب توخي الحذر لانه يمكن ان يحدث خطأ في النتائج .

قراءة الثوابت :-
لو افترضنا ان اسم الثابت NAME فلدينا طريقتنا لاستدعاء قيمة الثابت وهما

PHP كود :
define("NAME","Moamen");
echo 
NAME// الطريقة الاولى والشائعة
echo constant("NAME"); //الطريقة الثانية 

فائدة دالة defined :-
هي دالة تعمل على التأكد من وجود الثابت ونتيجة الدالة تكون Boolean
فاذا كان اسم الثابت موجود من قبل فتكون النتيجة True وان لم يكن موجود فالنتيجة False

مثال:
PHP كود :
define("NAME","Moamen");

if(
defined("NAME")){ // استخدام الدالة defined
 
   echo "Found"// True ان كانت النتيجة 
}else{
 
   echo "Not Found"// Falseان كانت النتيجة 


فائدة دالة get_defined_constants :-
هذه الدالة تعمل على جمع كل الثوابت الموجوده واخراجها في صورة مصفوفه
ويوجد parameter واحد فقط لهذه الدالة يدعى categorize ومن النوع boolean وله قيمة افتراضيه هي false
و True تعني ان الثوابت داخل المصفوفه ستكون مقسمه الى أقسام
ويمكن عرض تلك المصفوفة باستخدام دالة print_r

مثال:
PHP كود :
define("NAME","Moamen");
define("AGE","22");
print_r(get_defined_constants(true)); // عرض الثوابت داخل مصفوفة مقسمة لأقسام 

الثوابت السحرية Magic Constants :
هي عبارة عن ثوابت موجودة فعلياً داخل PHP لتسهيل بعض الاعمال وعلى سبيل المثال منها

__LINE__
: السطر الحالي داخل الملف .
__FILE__ : مسار الملف.
__FUNCTION__ : اسم الدالة.
__CLASS__ : اسم Class.
__NAMESPACE__ : اسم Namespace الحالي.

تحياتي
اخوكم/ مؤمن التوني CoolTongue
الرد }}}
تم الشكر بواسطة: oneyemenweb2 , abulayth , Amir_Alzubidy
#2
مقال اكثر من رائع
الرد }}}
تم الشكر بواسطة: RaggiTech
#3
استاذ مؤمن التوني يعطيك الف عافية
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))

الرد }}}
تم الشكر بواسطة: RaggiTech


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Lightbulb [مقال] معلومات سريعة : Basic Syntax RaggiTech 7 5,773 22-05-14, 08:06 PM
آخر رد: RaggiTech
Lightbulb [مقال] معلومات سريعة : Variables RaggiTech 3 4,377 22-05-14, 08:03 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم