php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.03.2006, 17:56  
Erfahrener Benutzer
 
Registriert seit: 03.01.2006
Beiträge: 253
CC84
Standard

ok, das klingt gut, werde ich versuchen, danke auf jeden Fall
CC84 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.03.2006, 19:05  
Erfahrener Benutzer
 
Registriert seit: 21.01.2005
Beiträge: 444
stf.stream
stf.stream eine Nachricht über ICQ schicken
Standard

Wenn du mit PHP5 arbeitest, kannst du die Mehrfachinstanziierung umgehen, indem du in dein DB-Objekt ein singleton implementierst.
Diese Methode erzeugt, wenn noch nicht vorhanden, ein neues DB-Objekt, gibt andernfalls einen Clon des bereits vorhandenen zurück

singleton Creational Pattern.

mfg
__________________
stf.
stf.stream ist offline  
Alt 29.03.2006, 19:20  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Jein, dann bist du aber wiederum drauf angewiesen, dass das Projekt nur mit einer Datenbank arbeitet
Zergling-new ist offline  
Alt 29.03.2006, 19:27  
Erfahrener Benutzer
 
Registriert seit: 21.01.2005
Beiträge: 444
stf.stream
stf.stream eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Zergling
Jein, dann bist du aber wiederum drauf angewiesen, dass das Projekt nur mit einer Datenbank arbeitet
Tut es das nicht??

mfg
__________________
stf.
stf.stream ist offline  
Alt 29.03.2006, 19:39  
Erfahrener Benutzer
 
Registriert seit: 03.01.2006
Beiträge: 253
CC84
Standard

Zitat:
Zitat von stf.stream
Zitat:
Zitat von Zergling
Jein, dann bist du aber wiederum drauf angewiesen, dass das Projekt nur mit einer Datenbank arbeitet
Tut es das nicht??

mfg
doch tut es, das mit dem singleton klingt natürlich nach dem Ultimativum. Arbeite mit php5, dann erledigen sich für mich alle Probleme. Dann kann ich in allen Klassen jeweils die Klassen instantiieren die ich brauche und PHP macht halt ne Neue oder nimmt die, die schon da ist. *goil*

Werde ich glatt mal bissel lesen gehen. Dann laufe ich auch nicht gefahr Objekte zu erstellen, die ich gar nicht brauche. Dochdoch, sehr praktisch.

Eine Frage noch. Wie geht es sich performancetechnisch aus, wenn ich die Logging Funktion immer nur dann instantiiere, wenn ich sie wirklich brauche? Quasi in X Unterfunktionen einer Klasse. Sinnvoll oder lieber einmal in der Klasse instantiieren und das Risiko eingehen, dass sie nicht gebraucht wird?
CC84 ist offline  
Alt 29.03.2006, 19:41  
Gast
 
Beiträge: n/a
Standard

Tut es das? Immer?
Das ist immer das Problem bei singleton: Habe ich wirklich an alles gedacht? Kann es keine Ausbaustufe geben, die mehr Flexibilität benötigt?
Im Grunde das Gleiche wie mit globalen Variablen; nur mit objekt-orientierter Tarnfarbe gestrichen.
http://opal.cabochon.com/~stevey/blo...on-stupid.html
 
Alt 29.03.2006, 19:53  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

http://www.phpfriend.de/forum/viewto...ight=singleton
http://www.phpfriend.de/forum/viewto...ight=singleton
Zergling-new ist offline  
Alt 29.03.2006, 20:21  
Erfahrener Benutzer
 
Registriert seit: 03.01.2006
Beiträge: 253
CC84
Standard

Ok, habe ich begriffen.
Bei mir werden zwar sicher keine 50 Klassen zum Einsatz kommen, so dass ich wohl auch nicht in 50 Klassen ein MySQL instantiiere, aber streng genommen ist das mit der Factory eine gute Alternative.
Wenn ich das richtig verstehe bleibt das Prinzip das selbe. Was sich nur ändert ist, dass nicht jede Klasse selber ihr Object versucht zu instantiieren, sonder, dass dies über die Factory läuft. Damit kann ich in der Factory dann die Funktionen, die dann später die eigentlichen Objekte erstellen bzw. prüfen ob es dieses gibt und die Kopie zurück geben entscheiden lassen, ob ich nun die Klasse MySQL oder die Klasse Oracle nutze.

Und diese eine Klasse die dann als Tor zur Wirklichkeit dient, muss ich eben an den Contructor aller Klassen übergeben.

Richtig??
CC84 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Inhalte von Array werden nicht ausgegeben ... Denkfehler? maeck PHP Tipps 2007 10 07.05.2007 16:04
Mit PHP auf Lotus Notes Datenbanken zugreifen buggybugga PHP Tipps 2007 2 02.05.2007 11:33
auf unterobjekte von div zugreifen JS/DOM Crypi HTML, Usability und Barrierefreiheit 4 05.04.2007 16:27
Via PHP auf eine andere festplatte zugreifen? skytrance PHP Tipps 2006 6 05.05.2006 16:23
Rechte für user vergeben - auf externe Datenbank zugreifen PHP Tipps 2005-2 8 07.10.2005 13:59
[Erledigt] Mit PHP auf ASP dot NET Webservice zugreifen PHP-Fortgeschrittene 3 08.01.2005 22:41
[Erledigt] Auf <td> zugreifen ??? HTML, Usability und Barrierefreiheit 3 07.11.2004 05:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.