Encapsulation
PHP 🟢 JuniorDefinition
Principe OOP qui restreint l'acces direct aux donnees internes d'un objet via des modificateurs de visibilite (public, protected, private).
Analogie
Comme un distributeur de billets : tu interagis via l'ecran 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 proteger l'etat interne des objets et garantir que les modifications passent par des methodes controlees.
Anti-pattern
Mettre toutes les proprietes en public et les modifier directement depuis l'exterieur.