In PHP wird der Datenbankzugriff häufig über PDO verwaltet. Während erste Versuche möglicherweise globale Variablen verwenden, um auf die Datenbank zuzugreifen, wird davon abgeraten. Als Alternative taucht das Singleton-Muster auf, seine Berechtigung bleibt jedoch fraglich.
Singletons zielen darauf ab, eine einzelne Klasseninstanz sicherzustellen, aber in PHP ist die Speichernutzung kein zwingender Grund. Darüber hinaus ist die Annahme, dass bestimmte Objekte nur einmal existieren können, oft falsch; Programmierer sollten Einzigartigkeit erzwingen, anstatt sich auf Sprachmechanismen zu verlassen.
Darüber hinaus mag ein globaler Zugriff auf Instanzen innerhalb einer einzigen Anfrage wünschenswert erscheinen, aber er führt zu einer Kopplung an den globalen Bereich, was Unit-Tests und Wartbarkeit behindert. Dependency Injection ist eine geeignetere Alternative für die gemeinsame Nutzung von Instanzen zwischen mehreren Klassen.
Erich Gamma, ein Erfinder des Singleton-Musters, befürwortet nun dessen Aufgabe, da es häufig als Design-Geruch missbraucht wird . Weitere Lektüren zu diesem Thema umfassen:
Wenn Sie sich immer noch unsicher sind, bietet das folgende Diagramm zusätzliche Orientierung:
[Bild: Singleton-Entscheidungsdiagramm. Ein Flussdiagramm, das Benutzern hilft, basierend auf ihrem spezifischen Anwendungsfall und ihren Vorlieben zu entscheiden, ob sie einen Singleton verwenden möchten.]
Das obige ist der detaillierte Inhalt vonSollten Sie Datenbank-Singletons in PHP-Anwendungen verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!