Re: Wiederverwendbarkeit von Klasse
Von: Hadanite Marasek (marasek@telton.de) [Profil]
Datum: 01.10.2007 19:15
Message-ID: <fdr9vl$h8l$03$1@news.t-online.com>
Newsgroup: de.comp.lang.php.misc
Datum: 01.10.2007 19:15
Message-ID: <fdr9vl$h8l$03$1@news.t-online.com>
Newsgroup: de.comp.lang.php.misc
> Wenn ich mir z.B. eine Klasse schreibe, die in einem Projekt für das > Speichern von Datensätzen in eine DB zuständig sein soll... eine > Wiederverwendbarkeit dieser Klasse in einem anderen Projekt wäre ja > dann eigentlich nur gegeben, wenn die Klasse so abstrakt ist, dass man > damit jede noch so verschiedene SQL-Inserts / Updates damit > verarbeiten könnte ... also eine Klasse die z.B. Formulardaten aus > einem dann x-beliebigen Formular entgegennimmt und die entsprechende > MySQL-Zieltabelle - und die Verarbeitung übernimmt, inkl. möglicher > Doppeltprüfung, Verarbeitung und Speichern von Binärdaten ... sehe ich > das richtig? Alles anderes wäre doch im Sinne der Wiederverwendbarkeit > nicht besonders sinnvoll, oder? > > Und: hat jemand so eine Klasse im Einsatz? Ja. Ich habe eine generische Klasse Table mit den Methoden write, update und delete. Für write gibst Du ihr ein assoziatives Array, für update ein assoziatives array + ID und für delete nur eine ID. Damit habe ich 80% der schreibenden Datenbankgeschichten abgefackelt, denn was macht man schon sonst den ganzen Tag mit Datenbanken. Als Erweiterung gibt es noch TableList, für reine Listen wie Geschlecht, Land, akademischer Grad etc. pp mit vereinfachten Methoden (addValue(), resolveId() z. B.) Formular & Validierung macht eine eigenständige Formularklasse mit Validatoren. Schliesslich braucht man ja auch ab und zu ein paar nicht-Datenbankformulare wie Feedback usw. usf. Von der gibt es eine Kindklasse DBForm, die eine generische Tabelle frisst und nette Methoden wie DBForm::addList(TableList $list) hat; die baut sich dann aus der entsprechenden Listentabelle ein Dropdown. Damit habe ich vermutlich ein schnelleres, performanteres, stabileres und wartungsfreundlicheres Schema als irgendwelches ORM und MCV-Glomp. Wenn ich es für nötig halte, schreibe ich mir noch quasi-Models für z. B. Zeugs wie User mit speziellen Methoden wie getAccessRights() or hasRight(). Ich habe es gerade noch nicht veröffentlicht, aber bereits im Einsatz. Falls Du Interesse hast... -- Mein Zeugs: http://www.hadanite-marasek.de/classes.php http://www.objektivsuche.de/[ Auf dieses Posting antworten ]
