العودة إلى الدورة

معدّلات الوصول (Access Modifiers): Public, Protected, and Private

PHP: الدورة التدريبية المكثفة الكاملة من الصفر إلى الاحتراف

35. معدّلات الوصول: Public, Protected, and Private

تحدد معدّلات الوصول رؤية ووصول خصائص الفئة ودوالها. هذا هو حجر الزاوية في التغليف (Encapsulation).

1. public (عام)

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

php

balance; // الوصول من الخارج مسموح ?>

2. protected (محمي)

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

3. private (خاص)

يمكن الوصول إليه فقط من داخل الفئة نفسها التي تم تعريفه فيها. الأعضاء الخاصة غير مرئية لكل من مثيلات الكائن والفئات الفرعية.

مقارنة بالأمثلة

php

internal_id; // موافق: الوصول إلى الخاص من الداخل } } $profile = new UserProfile(); echo "Name: " . $profile->name; // موافق (عام) // echo $profile->role; // Fatal Error: لا يمكن الوصول إلى خاصية محمية // echo $profile->internal_id; // Fatal Error: لا يمكن الوصول إلى خاصية خاصة echo "
المعرف الداخلي عبر الدالة العامة: " . $profile->showInternalId(); // موافق ?>

أفضل ممارسة: اجعل الخصائص افتراضيًا private أو protected. اعرضها فقط من خلال دوال عامة (Getters و Setters) للتحكم في كيفية قراءة البيانات وكتابتها.