Encapsulation
PHP 🟢 JuniorDéfinition
Principe OOP qui restreint l'accès direct aux données internes d'un objet via des modificateurs de visibilité (public, protected, private).
Analogie
Comme un distributeur de billets : tu interagis via l'écran et le clavier, pas en ouvrant le coffre.
Exemple de code
class BankAccount {
private float $balance = 0;
public function deposit(float $amount): void {
if ($amount <= 0) throw new \InvalidArgumentException();
$this->balance += $amount;
}
public function getBalance(): float { return $this->balance; }
}
Cas d'usage
Pour protéger l'état interne des objets et garantir que les modifications passent par des méthodes contrôlées.
Anti-pattern
Mettre toutes les propriétés en public et les modifier directement depuis l'extérieur.