Magic Methods

PHP 🟡 Mid

Definition

Methodes speciales prefixees par __ (__construct, __get, __set, __toString, etc.) appelees automatiquement par PHP dans certaines situations.

Analogie

Comme les reflexes du corps : ils se declenchent automatiquement en reaction a un stimulus, sans y penser.

Exemple de code

class Config {
  private array $data = [];
  public function __get(string $key): mixed {
    return $this->data[$key] ?? null;
  }
  public function __set(string $key, mixed $val): void {
    $this->data[$key] = $val;
  }
}

Cas d'usage

Pour creer des APIs fluides, du lazy loading ou des wrappers dynamiques.

Anti-pattern

Abuser de __get/__set pour tout rendre magique, rendant le code impredictible et non analysable par les IDE.
#core#interview#oop