Avatar ·

ما الفرق بين public و private و protected في PHP؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم البرمجة كائنية التوجه في PHP ولا أستطيع فهم الفرق بين معدّلات الوصول public و private و protected. لقد قرأت الوثائق، لكني ما زلت مرتبكًا عمليًا. لديّ كلاس بسيط: ```php class Car { public $color = 'red'; private $engineStatus = 'off'; protected $fuelLevel = 100; public function startEngine() { $this->engineStatus = 'on'; } private function checkFuel() { return $this->fuelLevel > 0; } protected function refuel($liters) { $this->fuelLevel += $liters; } } ``` أقوم بإنشاء كائن: ```php $car = new Car(); echo $car->color; // يعمل echo $car->engineStatus; // خطأ! $car->refuel(20); // لا يعمل أيضًا ``` لماذا لا أستطيع الوصول إلى الخصائص engineStatus و fuelLevel مباشرة؟ وما الفرق بين protected و private إذا كان كلاهما يقيد الوصول؟ اشرح لي من فضلك على