Singelton oder $GLOBALS
Hi Community ,
Ich wollte mich fragen in php5 was eigentlich besser ist .... eine Singelton Klasse ... oder meine Klassen via $GLOBALS aufzurufen .... wenn ja warum ... was sind die vor und nachteile? Kind regards - Charel B |
AW: Singelton oder $GLOBALS
Erschießen == Singleton
Erstechen == Globale Variablen Was ist besser? Mir wäre Erschießen lieber! (obwohl, so ganz sicher bin ich mir da auch nicht) Meist gibt es Alternativen. Was willst du wirklich erreichen? |
AW: Singelton oder $GLOBALS
mir wurde im IRC geraten dies zu tun also entweder $GLOBALS oder Singelton's zu benutzen.
weil ich hab mir z.b in database.php ne klasse geschrieben namens "database" ... diese hab ich wiederum in der selben datei schon gestartet per PHP-Code:
per PHP-Code:
aber komischerweise bekam ich einen error dass er die funktion nicht kannte ... so hab ich mich ein wenig umgegooglet und im irc nach gefragt ... diese sagten mir wiederum ich solle $GLOBALS oder Singelton's benutzen Wenn jemand nen anderen vorschlag hat kann mir ja hier antworten oder ne pm schicken Kind regards- CharelB |
AW: Singelton oder $GLOBALS
Lass es dir gesagt sein:
Irgendwann brauchst du eine Verbindung zu einer 2ten Datenbank! Und dann fällst du mit Globals/Singletons auf die Nase. Wenn es irgend möglich ist, übergib den Klassen, welche eine DB Verbindung brauchen, die Verbindungsklasse im Konstruktor, oder per Setter Methode. Für dich könnten folgende Pattern von Interesse sein: Factory Registry Dependency Injection Oder eine Kombination aus diesen, welche dann evtl Singleton sein darf. Aber längst nicht muß. Tipp: Ein Singleton im Projekt bringt Sorgen aber mehrere davon ist softwaretechnischer Selbstmord auf Raten. |
AW: Singelton oder $GLOBALS
wo finde ich diese patterns?
Kind regards Charel B |
AW: Singelton oder $GLOBALS
|
AW: Singelton oder $GLOBALS
Zitat:
Zitat:
- frisst performance en masse - sehr schlechter stil cx |
AW: Singelton oder $GLOBALS
Ich würde generell in der database.php keine Instanz erzeugen sondern nur die Klassenstruktur ablegen. Warum? => Weil ich sonst vielleicht 20 includes in ner Datei stehen hab, aber jedesmal in die einzelnen Dateien reinschaun muss, wo ich wieviele und welche Instanzen schon erzeugt hab.
+Puls: ich würde require_once verwenden, wenn ich irgendwo eine Klassenstruktur einbinde - da bei wiederholtem include ein Fehler (Redefinition) auftritt! +Plus: Singelton würde ich generell vergessen! +Plus: $GLOBALS sind (meiner Meinung nach - und vieler anderer nach) schrott! +Plus: Eine Datenbankklasse mit Datenbankparametern im Konstruktor (wie sie DokuLeseHemmung beschrieben hat) ist wesentlich besser zu handhaben! Gruß Andi |
Alle Zeitangaben in WEZ +2. Es ist jetzt 05:50:24 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.