ما الفرق بين 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 إذا كان كلاهما يقيد الوصول؟ اشرح لي من فضلك على