phpbar.de logo

Mailinglisten-Archive

[php] HTML/Form.php vs. "FORM-REBUILD"

[php] HTML/Form.php vs. "FORM-REBUILD"

Steffen Kother steffen.kother at gmx.net
Die Nov 30 10:44:07 CET 2004


Hallo Leute,

damit ich mal bissl mehr bzgl. Klassen und Objekten usw. lernen bzw.
machen will, habe ich mir mal die "Form.php" aus dem PEAR-Paket
genommen und mal versucht eigene Ideen einzubringen.

Als Basis diente die "Form.php" in der Version 1.15. Da diese mit
"eval()" arbeitet, dachte ich mir, es geht auch anders/besser(?). Auch
macht sie für jeden möglichen Input-Typ eine separate Tabellenzeile
("displayTextRow()", "displayRadioRow()" usw.)

Ich habe dazu das "eval()" mit "call_user_func()" ersetzt und auch die
entsprechenden Paramter etwas modifiziert... Weiterhin wird in der
"Form.php" jedes Attribut einzeln gesetzt ("addText(att1, att2,
att3)").

Bei mir werden diese als Array übergeben. Für die Tabellenzeile gibt es
nur noch eine Funktion und um Code zu sparen, werden die verschiedenen
Inputs auch mit "call_user_func()" aufgerufen.

Zusätzlich gibts noch ein Array mit den möglichen Attributen je
Input-Typ. Am Ende steht alles in $this->_FORM, damit man es auch
später wieder verwenden könnte.

Mit microtime() habe ich mir mal die Zeiten geben lassen und musste
feststellen, dass die Echte immer noch schneller ist...

Ladezeit "HTML/Form.php":              0.028864
Ladezeit "_class_/form.class.inc.php": 0.008734 //
Renderzeit $LF1:                       0.00182
Ladezeit $LF2:                         0.0016700000000001

Bei direkter Ausgabe (ohne $this->_FORM) bin ich gleich schnell, bzw.
schneller (;o)):

Ladezeit "HTML/Form.php":              0.032056
Ladezeit "_class_/form.class.inc.php": 0.006556
Renderzeit $LF1:                       0.0016860000000001
Ladezeit $LF2:                         0.0018309999999999

Wen mein Code interessiert, der melde sich. Ist halt einfach mal von
mir ein Versuch, fremden Code zu verstehen und mit eigenen Ideen zu
verfeinern.

Wollte es euch halt mal wissen lassen... So long.
-- 
Mit freundlichen Grüßen / Kind regards

Steffen Kother


php::bar PHP Wiki   -   Listenarchive