Mysql
 sql >> Base de données >  >> RDS >> Mysql

Connexion à la base de données php singleton, ce code est-il une mauvaise pratique ?

Les célibataires sont de mauvaises nouvelles.

  • Ils introduisent un état global dans un programme. La plupart des programmeurs devraient savoir pourquoi l'état global est mauvais.
  • Ils introduisent un couplage étroit entre le singleton et toute classe qui l'utilise. Cela signifie que vous ne pouvez pas réutiliser les classes en question sans réutiliser également le singleton.
  • Ils rendent problématiques les tests unitaires des classes qui dépendent du singleton, car vous ne pouvez pas facilement remplacer le singleton par un simulacre.
  • Ils encouragent un style de codage dans lequel les classes tentent de résoudre leurs propres dépendances. C'est mauvais car cela peut réduire la clarté concernant les dépendances de la classe.
  • PHP a une architecture sans partage, ce qui signifie que les singletons PHP ne sont pas vraiment des singletons, il peut y avoir plusieurs instances actives à la fois (une par requête ouverte).
  • Que se passe-t-il si vous découvrez soudainement à une date ultérieure que vous avez en fait besoin de plusieurs des ressources fournies par le singleton ? C'est un scénario plus courant que vous ne le pensez

Vous feriez mieux de regarder au lieu de cela, car il résout les problèmes ci-dessus.