![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Erfahrener Benutzer Registriert seit: 30.10.2005
Beiträge: 279
|
Nabend miteinander mal eine Frage, Angenommen ich habe eine DB-, Wiki- und StringTools-Klasse. Dazu kommen einige Config Variablen. Diese Dinge werden von meinen vielen anderen Klassen benötigt. Wie mach ich das in jeder Klasse verfügbar? Wie stelle ich das am geschicktesten an? Was ich mal so gedacht hatte 1. Ich könnte eine große Klasse machen die Instanzen und Variablen der benötigten Klassen speichert. Die anderen Klassen erben dann von dieser Superklasse. 2. Ich könnte in jeder anderen Klasse jeweils im Konstruktor Instanzen der benötigten Klassen speichern. Was vielleicht nicht so geschickt ist da man vielleicht ein DB Objekt erst vorkonfigurieren muss (und auch mehr Instanzen des db objekts was vielleicht nicht gut is), was in der Superklasse ja einmalig gemacht werden müsste. 3. Ich erzeuge außerhalb die benötigten Objekte und reiche sie dann in die Konstruktoren der Klassen mit. 4. Ich könnte den alles einfach durchvererben allerdings haben meine Sub-Klassen dann Variablen die ich gar nicht brauch. Irgendwelche Tips dazu? Ich denke der erste Punkte ist am geeignetsten. |
| | |
| | Nach oben #2 |
| Martin Eisengardt Registriert seit: 30.03.2006 Ort: Pfinztal
Beiträge: 355
|
Werf mal deine Gedanken kurz weg. Die erste Möglichkeit ist natürlich, für reine Informationen beispielsweise Konstanten zu nutzen (define und Konsorten). Die zweite gangbare Variante ist in PHP5 die Realisierung über Singletons. Beispiel: Code: class Singleton
{
private static $Instance = false;
public static function GetInstance()
{
if (Singleton::$Instance === false) Singleton::$Instance = new Singleton();
return Singleton::$Instance;
}
}
Persönliche Einstellung von mir, kanns ein, dass andere das auch wieder schlecht finden
__________________ Open Sourcing the Online Gaming Universe PHP/SQL/Java/C++/Assembler. Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Klasse verfügbar machen | jjelliss | PHP-Programmierung | 7 | 09.09.2007 15:36 |
| Klasse in Klasse verwenden? | goelliboy | PHP-Programmierung | 12 | 07.09.2007 11:43 |
| Thunderbird 1.5.0.7 / Firefox 1.5.0.7 verfügbar | Ben | Nachrichten | 0 | 14.09.2006 17:10 |
| Wert Varible in Listener anderer Klasse nutzen??? | risa | Desktop-Applikationen und Grafik | 1 | 03.04.2006 07:36 |
| Design für eine Klasse | js-mueller | Allgemeine Java-Programmierung | 1 | 12.03.2006 19:23 |