DerFichtl: PHP5, OOP: Singleton hier sinnvoll / Ausführung

Beitrag lesen

  1. Macht es Sinn auf diese Weise Ordnung zu schaffen? (PHP5 kennt ja keine Namespaces). Können damit Probleme auftreten die ich jetzt vielleicht noch nicht absehe? Ich möchte einfach, dass für später alles _möglichst_ gut durchdacht ist und wartbar bzw. erweiterbar ist.

Wozu müssen die beiden Klassen in Devices sein? Was hat es für Vorteile ausser das es aufgeräumt ist? Ich würde das lassen und einfach da wo ich ein DB-Objekt brauche da hol ich mir es direkt:

$db = MyDB::instance();

Man spart sich dadurch eine Klasse. Beim Logging dasselbe, wobei ich denke das man doch meistens gar keine Instanz braucht sondern direkt die Funktion statisch aufruft.

MyLogging::write('Loging Info');

Natürlich kann es sein das deine Devices noch mehr machen, dann kann die Klasse nütrlich sinnvoll sein das weiß ich allerdings jetzt nicht. Übrigens scheint deine Devices-Klasse sowas wie eine "Object Factory" zu sein.

  1. Statt für jedes Objekt eine eigene Methode zu haben ("getDB(), getLog(), usw.") könnte ich auch alles in eine zusammenfassen ("singleton('db'), singleton('log'), ..."). Damit würde ich sicher Quellcode sparen. Kann man dazu noch mehr sagen?

Google mal danach ('Object Factory Pattern'), das ist eine Klasse die Objekte anderer Klassen erzeugt. Vielleicht willst du ja sowas haben.

Schöne Grüße