phpbar.de logo

Mailinglisten-Archive

[php] Wann Klassenprogrammierung

[php] Wann Klassenprogrammierung

Hartmut Holzgraefe hartmut_(at)_six.de
Wed, 22 Nov 2000 17:33:07 +0100


Gegenbeispiel:


ich habe eine Klasse html_form

zu der kann ich mit $form->add_field($name, $input_field) Formular-
Elemente dazufügen

das wirklich nur Formularelemente hinzugefügt werden kann ich in
add_field() mit is_sublclass_of($input_field,"html_input") prüfen 
und erzwingen

jede Formularelement-Klasse muß damit eine Erweitergun bzw. Variation
von "html_input" sein. Damit hat jedes F.E. auch automatisch eine 
validate()-Methode, entweder eine eigene oder die von "html_input"
geerbte

das Formular-Objekt kann nun die gesamte Formulareingabe prüfen,
indem es einfach für jedes hinzugefügte Feld validate() aufruft

wenn ich z.B. ein Textfeld brauche, in das nur email-adressen
eingegeben werden können sollen, dann nehme ich mir das bereits
bestehende allgemeine html_input_text und erzeuge daraus 
eine "class html_input_email extends html_input_text", 
die nur die validate() Methode durch eine eigene ersetzt, die
die üblichen Bedingungen für wohlgeformte EMail-Adressen prüft

so kann ich sehr schnell Formulare erzeugen und auswerten, ohne
mir jedesmal Gedanken über jeden 'Kleinscheiß' machen zumüssen
und ohne das die Sicherheit oder Qualität unter gelegentlicher
Faulheit leidet (eigentlich müßte hier ja die eingegebene
Email-Adresse geprüft werden, aber für den Prototyp tuts auch
so, machen wir später .... oder auch nicht ...)




der Geschwindigkeitsverlust durch OOP bei der Ausführung
von PHP ist minimal, Objekte sind intern auch Hash-Arrays,
die aber zusätzlich eine eigene Funktionstabelle mitschleppen

die 'teuern' Dinge wie strenge Typprüfung, Kapselung,
Mehrfachvererbung, abstrakte/virtuelle Klassen und Methoden
gibt es in PHP nicht ...






-- 
Hartmut Holzgraefe  hartmut_(at)_six.de  http://www.six.de  +49-711-99091-77


php::bar PHP Wiki   -   Listenarchive