Magic Methods
PHP 🟡 MidDefinition
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.