![]() Mailinglisten-Archive |
Redaktion ''Der CMS-Report'' wrote: >>Schneller wird's wohl kaum gehen. > > Da kann ich nicht widersprechen. Und packst Du dann wenigstens die > elementare String-Verarbeitung in eine Klasse? nein, bisher nicht. Ich mache mir die Sache aber durch einen Trick etwas �bersichtlicher. Hier etwas Beispielcode aus einem aktuellen Mailer-Skript: (Die Variablen $missing und $confirmation bezeichnen Bl�cke f�r Fehlermeldung bzw. ein Best�tigungsformular. Eine Variable enth�lt also einen Leerstring.) ====================== ... //Platzhalter => Ersetzungsstrings zuordnen $sere['{MISSING}'] = $missing; $sere['{ACTION}'] = $_SERVER['PHP_SELF']; $sere['{CONFIRMATION}'] = $confirmation; //Template einlesen $form_template= file_get_contents("templates/form.tpl"); //Template f�llen und ausgeben echo str_replace(array_keys($sere), array_values($sere), $form_template); ... ========================= Ich arbeite in diesem Beispiel erst mit einem gemeinsamen Array, damit man die �bersicht nicht verliert, danach splitte ich es in zwei Arrays auf. Bei drei Werten ist das nicht unbedingt n�tig, aber bei 20 freut man sich. Wenn man die Variablen schon in einem Hash bekommt, kann man die Ersetzungsmuster auch generieren. foreach ($fields as $k => $v) { $search[]='{'. strtoupper($k) . '}'; $replace[] = $v; } F�r $fields['name'] wird dann ein {NAME} als Platzhalter erwartet. Ich glaube nicht, dass sich bei diesem Verfahren noch viel in eine Klasse auslagern lie�e. Bei der Verwendung einer Klasse bekomme ich eher mehr statt weniger Code. Was eine Klasse halt bieten kann, ist die Pr�fung des Templates auf fehlende Werte oder die Entfernung nicht ben�tigter Bl�cke usw. H�ufig braucht man so etwas aber gar nicht, und dann frage ich mich, warum man nicht direkt mit PHP-Funktionen arbeitet. Viele Gr��e Peter
php::bar PHP Wiki - Listenarchive