ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
275
275
EMPFEHLEN
-
Hy Leutz!
Ich habe 3 Klassen
CMySQL , CUser, CMainpage
In meinem Script wird zuerst eine Instanz von CMySQL erstellt, die heisst $MYSQL
dann eine des $Users und dann die $MAIN
Im Konstruktor der Klasse CMySQL stelle ich eine DB verbindung her und prüfe ob alle Daten stimmen, wenn nicht kommt ne Fehlermeldung.
In der Klasse CMainpage will ich ich Zugriff auf die Datenbank haben.
Ist es sinnvoll die Klasse CMySQL mit CMainpage zu erweitern?
Das Problem ist folgendes:
Ich rufe in der Klasse CMainpage weitere Klassen auf welche auch die Klasse CMySQL benötigen.
Nun möchte ich aber nicht 100 Instanzen von CMySQL haben, da das den Arbeitsspeicher meines Servers sinnlos vergeudet, auch wenn das jetzt mal ein wenig übertrieben ist, aber eine die global wäre, wäre doch praktischer oder?
Man würde Arbeitsspeicher und Zeit sparen.
Was sagt ihr dazu?
Wie würdet ihr das lösen?/* no comment */
-
Es wäre noch ganz gut zu wissen welche PHP-Version du nutzt.
Ich gehe jetzt mal von v5.x.x aus.
Du könntest die CMySQL-Klasse als Singleton umsetzen.
Siehe dazu: http://www.tutorials.de/forum/php-tu...-mit-php5.html.
So ist sichergestellt, dass du immer nur eine Instanz hast.
Am geschicktesten wäre es meiner Meinung nach eine Instanz der CMySQL-Klasse an die CMainpage-Klasse zu übergeben.
So ist auch sichergestellt, dass die CMainpage-Klasse nicht bzw. nur leicht von Änderungen in der CMySQL-Klasse betroffen ist.
greetz
daddzbe inspired...simplify...
-
Ja, sorry das hatte ich ganz vergessen.
Ich verwende PHP4, ganz einfach, weil PHP4 auf jedem Server ohne Aufpreis zu haben ist und PHP5 auch PHP4 versteht
/* no comment */
-
Also dann musst du aufs Singleton leider verzichten!
Aber alles andere sollte funktionieren wie ich es geschrieben habe!
greetz
daddzbe inspired...simplify...
-
Erweitern (ableiten von) einer Klasse ist in der OOP immer dann sinnvoll, wenn folgender Satz Sinn ergibt: „B ist ein A“ (A ist die Mutterklasse, B die abgeleitete Klasse)
Zitat von Unicate
„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Ok, habs nun so gelößt:
Klasse CMainpage bekommt eine Instanz von den Klassen CUser und CMySQL als Membervariablen $MYSQL && $USER, da CMainPage nur 1x aufgerufen wird, ist das I.o. wenn ich nun andere Klassen in CMainPage verwende übergebe ich die Instanz, wie daddz meinte...
Ich muss dann per "$this->MYSQL->Methode()" auf die Methoden zugreifen, was aber immer noch übersichtlich genug ist.
Meine Frage nun:
Das ganze soll wenn die Zeit gekommen ist PHP5 fähig gemacht werden.
Geht dann der "doppelte Zugriff" (also 2x "->") noch? Also das er funktionierten wird ist klar, aber ob das PHP5 norm ist oder eher nicht...?Geändert von Unicate (25.02.06 um 03:22 Uhr)
/* no comment */
Ähnliche Themen
-
Generics: Parametrisierung <?> oder <? extends Object>?
Von DarthShader im Forum JavaAntworten: 5Letzter Beitrag: 10.03.09, 20:55 -
Frage zu Interfaces und extends
Von Ozzy Ozborn im Forum JavaAntworten: 2Letzter Beitrag: 14.05.07, 08:51 -
public class Feld extends JLabel
Von Brucks im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 5Letzter Beitrag: 04.03.07, 19:56 -
Extends Implements
Von lernen.2007 im Forum JavaAntworten: 1Letzter Beitrag: 14.05.05, 23:11 -
OOP mit extends und Variablenübergabe
Von measel101 im Forum PHPAntworten: 1Letzter Beitrag: 07.02.04, 10:43





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren