Singleton Pattern

PHP 🟢 Junior

Definition

Pattern qui garantit qu'une classe n'a qu'une seule instance et fournit un point d'acces global. Souvent considere comme un anti-pattern en PHP moderne.

Analogie

Comme le president d'un pays : il n'y en a qu'un seul a la fois, accessible par tous.

Exemple de code

class Database {
  private static ?self $instance = null;
  private function __construct() {}
  public static function getInstance(): self {
    return self::$instance ??= new self();
  }
}

Cas d'usage

Rarement justifie en PHP moderne : le service container gere deja les instances uniques.

Anti-pattern

Utiliser des singletons partout au lieu de l'injection de dependances, rendant les tests impossibles.
#core#interview#pattern