Matthias Reitinger
ɐɯıǝɹ
Hallo,
@Marvin Schmidt: sehr schön, so stell ich mir das vor
Dann wäre es zu Analysezwecken vielleicht auch mal ganz interessant, sämtliche SQL-Abfragen eines Seitenaufrufs mitzuloggen und eine entsprechende Statistik am Seitenende auszugeben. Mit einer Singleton-Instanz der MySQL-Klasse kein größeres Problem – hat man aber viele Instanzen über die Applikation hinweg verteilt, muss man hierzu erst mal feststellen, welche Objekte gerade im Speicher liegen, welche davon eine eigene MySQL-Instanz besitzen und schlussendlich von diesen die Informationen abfragen und sinnvoll zusammenführen. Wenn man Pech hat, sind aber zum Zeitpunkt der Auswertung einige MySQL-Instanzen schon wieder verschwunden und man verliert damit Informationen.
Das allein wären jetzt schon zwei Gründe, die massiv gegen deine Art des Vorgehens sprechen. Natürlich funktioniert deine Lösung auch, das stelle ich nicht in Frage. Aber man verschenkt damit eben ein großes Maß an Flexibilität.
Grüße,
Matthias
@Marvin Schmidt: sehr schön, so stell ich mir das vor
Wenn du dich mit Design Patterns allgemein beschäftigen willst, würde ich dir Head First Design Patterns wärmstens empfehlen. Die Beispiele darin sind zwar in Java implementiert, aber das sehr gut vermittelte Wissen kann meist problemlos in andere Sprachen übertragen werden. Bei PHP-spezifischer Literatur kann dir Marvin sicher mehr sagen.Gibt es denn dazu ein Tutorials oder haste nen Link wo du das her hast....weil würde mir das gerne mal genauer ansehn und druchlesen.
Es ist umständlich, weil man für jedes Objekt eine eigene MySQL-Instanz erzeugen muss. Dabei wiederholt sich gezwungenermaßen ein Codeblock immer wieder quer über die Klassendeklarationen hinweg. Will man an der Instantiierung der MySQL-Klasse projektglobal eine Kleinigkeit ändern, so muss man das für jede Klasse extra tun. Das wirkt sich natürlich negativ auf die Wartbarkeit aus.Was ist denn das Problem daran, wenn jede Klasse seine eigene Mysql Instanz hat?
Dann wäre es zu Analysezwecken vielleicht auch mal ganz interessant, sämtliche SQL-Abfragen eines Seitenaufrufs mitzuloggen und eine entsprechende Statistik am Seitenende auszugeben. Mit einer Singleton-Instanz der MySQL-Klasse kein größeres Problem – hat man aber viele Instanzen über die Applikation hinweg verteilt, muss man hierzu erst mal feststellen, welche Objekte gerade im Speicher liegen, welche davon eine eigene MySQL-Instanz besitzen und schlussendlich von diesen die Informationen abfragen und sinnvoll zusammenführen. Wenn man Pech hat, sind aber zum Zeitpunkt der Auswertung einige MySQL-Instanzen schon wieder verschwunden und man verliert damit Informationen.
Das allein wären jetzt schon zwei Gründe, die massiv gegen deine Art des Vorgehens sprechen. Natürlich funktioniert deine Lösung auch, das stelle ich nicht in Frage. Aber man verschenkt damit eben ein großes Maß an Flexibilität.
Grüße,
Matthias