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