البرمجة

فهم أساسيات البرمجة الشيءية في PHP

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

تبدأ الشفرة بتعريف فئتين رئيسيتين: Person و Business. تحتوي فئة Person على متغير محمي ($name) ودالتين، الأولى تقوم بتعيين قيمة المتغير $name عند إنشاء الكائن، والثانية ترجع قيمة $name.

من جهة أخرى، تحتوي فئة Business على فئة فرعية هي Staff. يتم تمرير كائن من Staff كمعامل إلى الدالة البنائية لفئة Business. يتيح لنا ذلك إضافة أعضاء (أشخاص) إلى الفريق التابع للشركة باستخدام دالة hire.

الشفرة تظهر أيضاً استخدام مصفوفة لإنشاء مجموعة من الأشخاص (الموظفين)، حيث يتم إنشاء كائن Person لكل فرد وإضافته إلى مصفوفة. يتم تمرير هذه المصفوفة كمعامل لإنشاء كائن Staff، ومن ثم يتم إنشاء كائن Business باستخدام الكائن Staff.

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

المزيد من المعلومات

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

تبدأ الشفرة بتعريف فئة Person التي تُمثل شخصًا. يتم تحديد متغير محمي $name لتخزين اسم الشخص، وتوفير دالة بنائية __construct تستخدم لتهيئة قيمة المتغير عند إنشاء كائن جديد من الفئة. هنا يُظهر الاستخدام الجيد لمبدأ التجنيد (encapsulation) من خلال تحديد الخصائص بشكل محمي والوصول إليها من خلال دوال.

ثم، يتم تعريف فئة Staff التي تُمثل مجموعة من الأشخاص. تحتوي هذه الفئة على مصفوفة محمية $members لتخزين أفراد الفريق. يتم استخدام دالة بنائية لتهيئة القائمة ودالة add لإضافة شخص جديد إلى القائمة.

تأتي فئة Business كفئة رئيسية وتتكون من متغير محمي $staff الذي يمثل كائن من الفئة Staff. الدالة البنائية تأخذ كائن Staff كمعامل، وهذا يُظهر مبدأ حقن التبعية (dependency injection).

الشفرة تحتوي أيضًا على دالة hire التي تستخدم لإضافة شخص جديد إلى الفريق باستخدام دالة add من فئة Staff. وأخيرًا، توفر دالة getStaffMembers لاسترجاع أعضاء الفريق.

يُظهر الجزء الأخير من الشفرة كيفية إنشاء كائنات وتمثيل الموظفين. تُستخدم مصفوفة $bros لإنشاء مصفوفة من الأشخاص، ويتم إنشاء كائن Person لكل فرد. ثم يُستخدم كائن Staff لتمثيل الفريق، وأخيرًا، يُنشئ كائن Business باستخدام الكائن Staff.

أخيرًا، يُستخدم var_dump و print_r لاستعراض معلومات الفريق. من الممكن تحسين هذا باستخدام echo وتنسيق النص بشكل أفضل لجعل الإخراج أكثر قراءة وفهمًا.

زر الذهاب إلى الأعلى