Hallo,
ich bräuchte mal ein paar Ideen zur Umsetzung folgender Anforderung. Ich will in meiner PHP-Software möglichst unabhängig von der Datenschicht arbeiten. Egal ob SQL-Datenbanken, XML-Dateien oder serialisierte PHP-Objekte zur Speicherung von Daten zuständig sind, ich möchte eine universelle Schnittstelle verwenden, die auf die Fachlogik angepasst ist.
Beispiel: ein Forum. Es gibt verschiedene Anforderungen an eine Klasse Thread, die über statische Methoden Threads sortiert nach verschiedenen Aspekten zurückgeben soll. So zum Beispiel Thread::getByUser(User $user) oder Thread::getByForum(Forum $forum). Sollte einleuchtend sein, was diese Methoden machen.
Das Problem: Es kommen nach einiger Zeit ziemlich viele Aspekten, nach denen man Threads anzeigen lassen kann, zusammen. Was bei den oben genannten Methoden zum Beispiel noch fehlt, wäre die Sortierung. Nach dem Prinzip müsste es also Methoden geben, die da heißen Thread::getByForumSortAsc(Forum $forum) oder Thread::getByUserSortDesc oder aber auch Thread::getByForum(Forum $forum, SORT_FLAG). Das ist natürlich kein tolles Design. ich bräuchte also irgendeine Zwischenschicht, bei der ich so flexibel wie möglich sein kann, ohne mich auf einen Datenspeicherungsaspekt (beispielsweise SQL) festlegen zu müssen.
Wäre für Ideen sehr dankbar.
Grüße
ich bräuchte mal ein paar Ideen zur Umsetzung folgender Anforderung. Ich will in meiner PHP-Software möglichst unabhängig von der Datenschicht arbeiten. Egal ob SQL-Datenbanken, XML-Dateien oder serialisierte PHP-Objekte zur Speicherung von Daten zuständig sind, ich möchte eine universelle Schnittstelle verwenden, die auf die Fachlogik angepasst ist.
Beispiel: ein Forum. Es gibt verschiedene Anforderungen an eine Klasse Thread, die über statische Methoden Threads sortiert nach verschiedenen Aspekten zurückgeben soll. So zum Beispiel Thread::getByUser(User $user) oder Thread::getByForum(Forum $forum). Sollte einleuchtend sein, was diese Methoden machen.
Das Problem: Es kommen nach einiger Zeit ziemlich viele Aspekten, nach denen man Threads anzeigen lassen kann, zusammen. Was bei den oben genannten Methoden zum Beispiel noch fehlt, wäre die Sortierung. Nach dem Prinzip müsste es also Methoden geben, die da heißen Thread::getByForumSortAsc(Forum $forum) oder Thread::getByUserSortDesc oder aber auch Thread::getByForum(Forum $forum, SORT_FLAG). Das ist natürlich kein tolles Design. ich bräuchte also irgendeine Zwischenschicht, bei der ich so flexibel wie möglich sein kann, ohne mich auf einen Datenspeicherungsaspekt (beispielsweise SQL) festlegen zu müssen.
Wäre für Ideen sehr dankbar.
Grüße
Kommentar