Avatar ·

Quelle est la différence entre public, private et protected en PHP ?

Bonjour à tous ! Je viens de commencer à étudier la programmation orientée objet en PHP et je n'arrive pas à comprendre la différence entre les modificateurs d'accès public, private et protected. J'ai lu la documentation, mais en pratique, je suis toujours confus. Voici une classe simple : ```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; } } ``` Je crée un objet : ```php $car = new Car(); echo $car->color; // Fonctionne echo $car->engineStatus; // Erreur ! $car->refuel(20); // Ne fonctionne pas non plus ``` Pourquoi ne puis-je pas accéder directement aux propriétés engineStatus et fuelLevel ? Et quelle est la différence entre protected et private, si les deux limitent l'accès ? Expliquez-moi, s'il vous plaît, avec