Singleton Pattern
PHP 🟢 JuniorDéfinition
Pattern qui garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global. Souvent considère comme un anti-pattern en PHP moderne.
Analogie
Comme le président 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 gère déjà les instances uniques.
Anti-pattern
Utiliser des singletons partout au lieu de l'injection de dépendances, rendant les tests impossibles.