Anonymous Classes

PHP 🟡 Mid

Definition

Classes sans nom definies a la volee avec new class. Utiles pour creer des implementations 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 generique.

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 implementations uniques dans des factories.

Anti-pattern

Utiliser des classes anonymes en production pour de la logique complexe qui merite une vraie classe nommee.

Termes lies

#advanced#php8