Mailinglisten-Archive |
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