Anonymous Classes

PHP 🟡 Mid

Définition

Classes sans nom définies a la volée avec new class. Utiles pour créer des implémentations jetables d'interfaces, surtout dans les tests.

Analogie

Comme un figurant dans un film : il joue son role une seule fois sans avoir besoin d'un nom au générique.

Exemple de code

$mock = new class implements Logger {
  public array $logs = [];
  public function log(string $msg): void {
    $this->logs[] = $msg;
  }
};

Cas d'usage

Pour les tests unitaires (mocks rapides) ou les implémentations uniques dans des factories.

Anti-pattern

Utiliser des classes anonymes en production pour de la logique complexe qui mérite une vraie classe nommée.

Termes liés

#advanced#php8

← → au clavier pour passer d'une fiche à l'autre