Mailinglisten-Archive |
* Konstantin Rekk <k.rekk at intermatix.de> [2004-05-04 11:49:46 +0200]: <snip> > Ein foreach, das nur items ausgibt ist zwar Logik , aber Ausgabelogik, vieles > andere auch. Ein {$variable} für eine Ausgabe kann noch jeder Designer lernen. Mir persönlich gefällt es aber deutlich besser, ein einfaches Template iterieren (=mit den einzelnen Datensätzen wiederholen) zu lassen, statt einer Schleife. Für uns Coder ist das vielleicht nur syntactic sugar, aber für nicht-Coder macht das zuweilen ein gewaltiger Unterschied. In patTemplate löst man das z.b. so: Ausfüllen in der Anwendung: ------------------------------ <?php $data_vorname = array ( 'max', 'gunter', 'eberhard' ); $data_nachname = array ( 'schulz', 'becker', 'kunz' ); $data_tel = array ( 11, 12, 13 ); $tmpl->addVar ( 'list:item', 'vorname', $data ); $tmpl->addVar ( 'list:item', 'nachname', $data ); $tmpl->addVar ( 'list:item', 'tel', $data ); ... ------------------------ Template-Source: ---------------- <patTemplate:tmpl name="list"> <TABLE> <TR> <TH> Vorname </TH> <TH> Nachname </TH> <TH> Telefon </TH> </TR> <patTemplate:tmpl name="list:row"> <TR> <TD> {VORNAME} </TD> <TD> {NACHNAME} </TD> <TD> {TEL} </TD> </TR> </patTemplate:tmpl> </TABLE> </patTemplate:tmpl> ------------------------- Wir füllen also die Daten in das Template "list:row" ein, welches hier den Listeneintrag representiert. Da wir eine Reihe von Werten haben, wird das hier also iteriert. Um die Liste schöner zu machen, könnten wir "list:row" auch als conditional-template schreiben, das entsprechend eines Zählers oder eines Variableninhaltes verschiedene Gestalt annimmt ... <snip> > Und die Angst vor böswilligen Designern, die "backdoors" einbauen halte > ich ehrlich gesagt für etwas übertrieben. Wenn irgentjemand nicht-administratives Code einschleusen kann, dann ist das immer ein Sicherheitsloch, ganz gleich wie nett derjenige ist. Es reicht, daß mal dessen account kompromittiert wird und schon hat man den Salat. Ansonsten hat pTemplate übrigends auch den Vorteil, daß man den template-processor auf einem anderen host (z.b. auch im proxy) laufen lassen kann. > Xipe bietet die die Wahl - im Entwicklungsprozess noch über php-includes > später dann mit reinen template includes zu arbeiten. Genau das möchte ich ja unbedingt verhindern ... > Auch kannst du TagLib (JSP) artige Elemente benutzen, oder auch eigene > schreiben. Ist also gleichzeitig eine Art Framework sowie auch ein fertiges > Templatesystem. Das wäre Aufgabe eines Sitekits, also einem Framework für komplexe Websites - das wäre eine Schicht drüber, und das sollte man nicht vermischen. > Templates bei PHP (früher ja personal home page) ist ja eigentlich überhaupt > doppelt-gemoppelt, da php an sich eigentlich als Scriptsprache direkt in die > Ausgabe gehört (JavaBeans-artig), warum php jetzt analog zu JavaServlets > angewendet wird, liegt wohl daran, dass es leicht zu installieren , von jedem > Provider angeboten und anfangs von fast jedem leicht zu lernen ist, sogar von > Designern ;-) Naja, php hat sich nun doch zu einer vollwertigen Scriptsprache entwickelt, mit der man praktisch alles machen kann. php steht eigentlich i.W. etwa auf der gleichen Stufe wie perl und ist also auch für Standalone-Anwendungen gut geeignet (wofür ich es auch bevorzugt verwende - z.b. auch Mailroboter, Erzeugen von Configfiles, Datenbankspiegelung, usw, usw) cu -- --------------------------------------------------------------------- Enrico Weigelt == metux IT service phone: +49 36207 519931 www: http://www.metux.de/ fax: +49 36207 519932 email: contact at metux.de cellphone: +49 174 7066481 --------------------------------------------------------------------- -- DSL ab 0 Euro. -- statische IP -- UUCP -- Hosting -- Webshops -- ---------------------------------------------------------------------
php::bar PHP Wiki - Listenarchive