Struktur Adressdatenbank

19/07/2012 - 10:36 von chris_news | Report spam
Hallo,

meine Adressdatenbank besteht zur Zeit aus Nachname, Vorname, PLZ und
Ort. Spàter können aber weitere Felder wie Telefonnummer, E-Mailadresse,
Benutzername, Passwort oder Geburtsdatum dazukommen.

Wie lege ich diese Felder in meinem PHP-Script am besten an? Eigentlich
wollte ich einfach $name, $vorname, $plz und $ort als Eigenschaft in
einer Klasse verwenden und für jede Adresse ein Objekt anlegen.

Wenn jetzt Felder hinzugefügt werden, muss ich an mehreren Stellen das
Script àndern. Die Klasse, mehrere PHP-Seiten, die Listen ausgeben, und
verschiedene HTML-Eingabeformulare.

Geht das nicht irgendwie eleganter? Dass ich die ganzen Felder nur an
einer Stelle nennen muss?

Ein Versuch war z.B. eine Löschmethode in der Adresse-Klasse für
einzelne Felder: Es könnte z.B. sein, dass der Nachname aus einem
Datensatz gelöscht werden soll. Der deleteValue Methode wird
$attribute="nachname" übergeben. Sie soll jetzt die Klasseneigenschaft
$nachname auf einen leeren String setzen. Das geht mit
${$attribute}[0]="Meier";. Oder mit eval.

Beides würde zwar funktionieren, ist aber nicht besonders elegant. Wie
geht es besser? Was ist die übliche Vorgehensweise? Werden in den
meisten Scripts die Felder beim Namen genannt und das entsprechende
Script dann eben an mehreren Stellen geàndert? Kann man sich speziell
durch die OOP Arbeit sparen?

($attribute könnte auch eine normale Variable sein. Es ist ein Array,
weil es Felder gibt, die mehrere Werte, z.B. Handynummern, haben
können.)

Danke im Voraus

Gruß,
Christian
 

Lesen sie die antworten

#1 Stefan+Usenet
19/07/2012 - 12:08 | Warnen spam
On Thu, 19 Jul 2012 10:36:18 Christian Meier wrote:
[...] wollte ich einfach $name, $vorname, $plz und $ort als Eigenschaft
in einer Klasse verwenden und für jede Adresse ein Objekt anlegen.



Ist von der Idee her schon nicht voellig verkehrt.

Wenn jetzt Felder hinzugefügt werden, muss ich an mehreren Stellen das
Script àndern. Die Klasse, mehrere PHP-Seiten, die Listen ausgeben, und
verschiedene HTML-Eingabeformulare.

Geht das nicht irgendwie eleganter?



Nicht ohne (fuer eine einzelne Adressverwaltung) viel Aufwand, nein.

Ich habe irgendwann einmal damit begonnen, eine eigene Klasse fuer
Eingabeparameter zu schreiben, so dass ich z.B. bei einer Adressklasse
dann nur noch sagen muss: "Name, alphanumerisch, max. 64 Zeichen", und
PHP erzeugt mir daraus den notwendigen HTML-Code fuer die Eingabefelder,
prueft die Benutzereingabe, formatiert die Ausgabe und kuemmert sich um
den Eintrag in die Datenbank,

Frag mich aber lieber nicht, wieviel Aufwand das war, und es gibt _immer_
noch Sonderfaelle, die ich nicht beruecksichtigt habe.

Kann man sich speziell durch die OOP Arbeit sparen?



Arbeit erspart man sich IMHO dadurch nie (immerhin kann man ja z.B. C++
jederzeit in C-Code ueberfuehren, und PHP verhaelt sich in vielen Aspekten
recht aehnlich), man gewinnt allerdings bei richtiger Handhabung an
Uebersicht. OOP hilft damit, Projekte zu bewaeltigen, bei denen man
ansonsten laengst im Chaos versunken waere.

Servus,
Stefan

http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Der intelligute Angeber liebt Stefan. Das muß ja wohl einen Grund haben?
(Sloganizer)

Ähnliche fragen