يتبع التعريف المتغير للفئة في php5 oop التحكم في الوصول، وهو:
public يعني عالمي، ويمكن الوصول إليه عن طريق الفئات الفرعية داخل الفصل وخارجه،
يعني خاص، ولا يمكن استخدامه إلا ضمن هذه الفئة
المحمية
؛يمكن الوصول إلى هذه الفئة فقط في الفئات الفرعية أو الفئات الرئيسية؛
<?php
الفئة الأساسية {
عامة $public = 'public';
خاص $private = 'خاص'؛
محمي $protected = 'محمي'؛
وظيفة __construct(){
}
وظيفة print_var(){
اطبع $this->public;echo '<br />';
طباعة $this->private echo '<br />';
طباعة $this->protected; echo '<br />';
}
}
class Subclass Extends BaseClass {
// public $public = 'public2';
محمي $protected ='protected2';
وظيفة __ بناء () {
echo $this->protected;// يمكن الوصول إليه، لأنه تم تعريف الفئة على أنها محمية، لذلك يمكن أن تكون في هذه الفئة أو الفئة الفرعية، ويمكن تكرار القيمة في الفئات الفرعية
صدى '<br />';
echo $this->private;// خطأ لأنه خاص ولا يمكن استخدامه إلا في الفئة الأساسية التي تم تعريفه فيها.
}
}
$obj1 = new BaseClass();
$obj1->print_var();
//echo $obj1->protected;//خطأ لأنه محمي، لا يمكن استدعاؤه إلا داخل هذه الفئة أو في الفئات الفرعية والفئات الأصلية.
//echo $obj1->private;//خطأ خاص كما هو مذكور أعلاه، لا يمكن استدعاؤه إلا داخل هذه الفئة
صدى $obj1->عام؛
صدى "<hr />";
$obj2 = فئة فرعية جديدة();
صدى '<br />';
echo $obj2->public;echo '<br />';
صدى $obj2->محمي;
//echo $obj2->private;//error
// صدى $obj2->protected;
?>