ما هي ثوابت فئة OOP في PHP؟

Ma Hy Thwabt Fyt Oop Fy Php



نموذج البرمجة المعروف باسم البرمجة الشيئية (OOP) تمكن المستخدمين من كتابة برامج معيارية قابلة لإعادة الاستخدام. ثابت يعد الاستخدام داخل الفصل أحد ميزات OOP. ثوابت الفئة في PHP هي قيم لا يمكن تغييرها بعد تحديدها. هم أعضاء في الفصل ولا يرتبطون بأي مثيل فئة معين.

ما هي ثوابت الفئة في PHP؟

لنبدء ب، ثوابت الفئة تشير إلى القيمة التي تظل ثابتة على مدار البرنامج النصي. في OOP ، يسمح للمبرمج بتحديد قيمة لها معنى محدد داخل الفئة ولا يمكن تحديثها بأي من طرق الفصل. ال مقدار ثابت الكلمة الأساسية تستخدم لتحديد ثوابت الطبقة ، والتي يتم إعطاؤها قيمة ثابتة على مدار النص.







أ ثابت الطبقة هي قيمة محددة داخل فئة تظل ثابتة طوال تنفيذ البرنامج. على المدى مقدار ثابت يستخدم لتعريفهم ، ثم يتبعه اسم وقيمة ذلك الثابت. بمجرد تحديدها ، لا يمكن تغييرها أثناء وقت التشغيل.



على سبيل المثال ، يمكننا تحديد ملف ثابت الطبقة لقيمة Pi بالطريقة التالية:



فئة الرياضيات {
const PI = 3.14 ؛
}


هنا ، قمنا بتعريف فئة ثابتة PI لفصل الرياضيات 3.14. نظرًا لأن الثابت مرتبط بالفئة وليس مثيلًا للفصل ، يمكننا الوصول إليه بدون مثيل كما في:





صدى صوت Math::PI;


مقارنة بالمتغيرات العادية ، ثوابت الطبقة لديها بعض الاختلافات الملحوظة. أولاً ، إنها غير قابلة للتغيير ، بمعنى أنه لا يمكن تغييرها بمجرد تعريفها. ثانيًا، قيم ثابتة حساسة لحالة الأحرف ، على عكس المتغيرات في PHP. علاوة على ذلك ، يتم تعريف الثوابت باستخدام مقدار ثابت الكلمة الرئيسية ، بينما المتغيرات تستخدم كان الكلمة الرئيسية ، وهي تمييز مهم.

الوصول إلى ثوابت الفئة

الوصول ثوابت الطبقة يمكن أن يتم بطريقتين.



1: استخدام دقة النطاق (: :)

أولا ، ثوابت الطبقة يمكن الوصول إليها باستخدام دقة النطاق (: :) عامل التشغيل ، كما في:

اسم الفئة :: CONSTANT_NAME


انظر إلى مثال:

< ؟بي أتش بي
شخص من الدرجة الأولى {
اسم const = 'لاري' ؛
العمر الثابت = 32 ؛
جنسية كونست = 'أمريكي' ؛
}
صدى صوت اسم الشخص، ' ' ؛
صدى صوت شخصية، ' ' ؛
صدى صوت الشخص :: الجنسية ؛
؟ >


في الكود أعلاه ، فإن ملف شخص تحدد الفئة الاسم والعمر والجنسية على أنها ثلاثة الثوابت . كل ثابت له سلسلة أو قيمة عدد صحيح محددة له.

ال :: يتم استخدام عامل التشغيل بالاقتران مع اسم الثابت للوصول إلى قيمة ثابت الفئة. على سبيل المثال ، نستخدم بناء الجملة اسم الشخص لاسترداد قيمة اسم ثابت.

أخيرًا ، نقوم بطباعة قيم ثوابت الاسم والعمر والجنسية على الشاشة باستخدام الأمر echo.

2: استخدام الكلمة الرئيسية 'الذات'

بدلاً من ذلك ، يمكننا أيضًا الوصول إلى ثوابت الطبقة داخل الفصل نفسه باستخدام 'النفس' الكلمة الأساسية متبوعة بالاسم الثابت الوارد أدناه:

النفس :: CONSTANT_NAME


انظر إلى مثال للوصول إلى ثابت باستخدام الذات كلمة رئيسية.

< ؟بي أتش بي
فئة الدائرة {
const PI = 3.14159 ؛
خاص نصف قطر دولار ؛
عام وظيفة __إنشاء ( نصف قطر دولار ) {
$ هذا - > نصف القطر = نصف قطر دولار ؛
}
عام وظيفة منطقة ( ) {
يعود النفس :: PI * $ هذا - > نصف القطر * $ هذا - > نصف القطر؛
}
}
دائرة $ = دائرة جديدة ( 16 ) ؛
صدى صوت دائرة $ - > منطقة ( ) ؛
؟ >


في هذا المثال أعلاه ، تحدد فئة تسمى Circle خاصية خاصة تسمى radius $ وثابت تسمى PI. الصيغة المستخدمة من قبل getArea () الدالة للحصول على مساحة الدائرة PI * نصف قطر * نصف قطر ، حيث PI هي قيمة ثابت PI ونصف القطر هو قيمة معلمة نصف القطر $.

في حدود getArea () الطريقة ، نحن نستخدم الذات الكلمة الأساسية متبوعة باسم الثابت للحصول على قيمة ثابت PI: النفس :: PI .


هناك بعض الاعتبارات التي يجب وضعها في الاعتبار أثناء التحديد ثوابت الطبقة . أولاً ، تأكد من أن اسم ثابت الفئة فريد داخل الفصل. ثانيًا ، يجب أن تلتزم بنفس اصطلاحات التسمية مثل أسماء الفئات ، أي استخدام حالة الجمل للثوابت. أخيرًا ، من الممارسات الجيدة تحديد القيم العددية فقط ، مثل الأعداد الصحيحة والسلاسل ، مثل ثوابت الطبقة .

وراثة ثوابت الفئة

ميزة أخرى مهمة ثوابت الطبقة هو أنه يمكن أن يرثها الفصول التابعة. في جوهرها ، يمكن للفئة الفرعية الوصول إلى القيم الثابتة المحددة بواسطة فئتها الأصلية باستخدام الأبوين كلمة رئيسية. على سبيل المثال:

< ؟بي أتش بي
فئة الحيوان {
ANIMAL_TYPE = 'الحيوان الثديي' ؛
}
فئة الكلب يمتد الحيوان {
عام وظيفة getType ( ) {
صدى صوت 'الكلب' ، الوالد :: ANIMAL_TYPE ؛
}
}
كلب دولار = كلب جديد ( ) ؛
كلب دولار - > getType ( ) ؛
؟ >


في هذا الرسم التوضيحي ، للفئة Animal ثابت بالقيمة ' الحيوان الثديي ' اسم الشيئ ANIMAL_TYPE . ال كلب هي فئة فرعية مشتقة من فئة الحيوانات.

الوظيفة العامة getType () من فئة الكلب ينتج ببساطة قيمة أ NIMAL_TYPE ثابت عن طريق الوصول إلى ثابت فئة الأصل باستخدام الأصل :: الكلمات الرئيسية .

أخيرًا ، نقوم ببناء كائن فئة Dog واستخدام getType () دالة ، والتي تُرجع قيمة الثابت الموروث لفئة الحيوان ANIMAL_TYPE .

خاتمة

استخدام ثوابت الطبقة هو عنصر أساسي في البرمجة الشيئية في PHP ولغات البرمجة الأخرى . باستخدام ثوابت الطبقة ، يمكننا تجنب القيم المشفرة في البرنامج ، والتي يمكن أن تكون متاعب أثناء تحديث الكود. من المهم الالتزام باتفاقيات التسمية ومراعاة إمكانية الوصول إلى ثوابت الفئة داخل البرنامج أثناء تحديدها.