nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

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
> 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 ]