Singleton Pattern
PHP 🟢 JuniorDefinition
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.