Mailinglisten-Archive |
Moin zusammen, vielleicht mag mir jemand meine Wissenslücke füllen, bzw. dabei helfen, folgendes zu verstehen. Ganz grob geht es um die Art und Weise, wie statische Funktionen referenziert werden (können). Schwer zu erklären mangels richtiger Begrifflichkeit bei mir. Also versuche ich es anhand eines Beispiels deutlich zu machen. Was in u.g. Beispiel(en) gemacht wird (grob): In einer PHP Datei werden Formulare mit QuickForm2 erstellt, die innerhalb von Smarty Templates gerendert werden. Beispiel 1: Hier erfolgt die Initialisierung der QuickForm factory Klassen innerhalb der PHP-Datei, in dem auch das Formular gebaut und ausgegeben wird. Das Beispiel FUNKTIONIERT. <?php // PHP Ausgabe, Datei ... require_once 'HTML/QuickForm2/Renderer.php'; HTML_QuickForm2_Renderer::register('smarty', 'HTML_QuickForm2_Renderer_Smarty'); $renderer = HTML_QuickForm2_Renderer::factory('smarty'); .. einige Dinge mit $renderer anstellen ... ?> Beispiel 2: Hier erfolgt die Initialisierung der QuickForm factory Klassen innerhalb einer Klassenfunktion (loadQuickFormSmartyRenderer()) einer separaten Klassen-Datei, die ich in der PHP-Datei nutze. Gleichzeitig soll hier die Instanz-Rückgabe in der Variable $renderer zur Weiterverwendung gespeichert werden. Das Beispiel FUNKTIONIERT NICHT. <?php // PHP Ausgabe, Datei ... $renderer = $klassenobjekt->loadQuickFormSmartyRenderer(); .. einige Dinge mit $renderer anstellen ... ?> <?php // Klassenfunktionen public function loadQuickFormSmartyRenderer() { // Load the QuickForm2 Renderer require_once('HTML/QuickForm/Renderer.php'); HTML_QuickForm2_Renderer::register('smarty', 'HTML_QuickForm2_Renderer_Smarty'); HTML_QuickForm2_Renderer::factory('smarty'); // hier müsste ich ja was retournieren(?) Aber was genau? // "return HTML_QuickForm2_Renderer::factory('smarty');" etc. geht ja nicht } ?> Ich hoffe, die Beschreibungen und Beispiele sind einigermaßen hilfreich. Mir ist also nicht wirklich klar, wie man statische Klassenaufrufe retourniert. Bzw. ob das so, wie oben grob angedacht ist, überhaupt geht? Grund des Ganzen ist übrigens einfach die Vermeidung von Redundanzen. So dass ich nicht in jeder PHP-Datei die den QuickForm Renderer neu initialisieren muss. Vielleicht mag mir jemand hier ein paar Worte zu schreiben? Danke schon jetzt. gruss Olaf -- creatics : Inh. Olaf Gleba Tel. +49 (0)221 170 67 224 : Fax. +49 (0)221 170 67 225 og at creatics.de : http://creatics.de PGP-Key http://creatics.de/keys/
php::bar PHP Wiki - Listenarchive