Thread Template Toolkit: BLOCK + WRAPPER
(14 answers)
Opened by bloonix at 2007-06-13 00:50
Hallo liebe Community,
heute bin ich in den Genuss des WRAPPERs von Template gekommen. Mein Gedanke war es, alle Templates zu Begin des FastCGI-Prozesses in eine Hashstruktur zu laden und im Speicher zu halten, um die Platten- zugriffe zu minimieren. Mein altes Konstrukt hat da natürlich nicht mitgespielt... Bislang habe ich meine Struktur immer wie folgt aufgebaut (so wie ich es auch zu Zeiten mit HTML::Template gemacht habe): beispiel.tmpl Code: (dl
)
1 [% INCLUDE header.tmpl %] Dabei enthält header.tmpl immer die gesamten Header Informationen, angefangen mit <html> und endend mit </head>... navigation.tmpl entält immer meine Navigationsleiste und footer.tmpl den Abschluss... so schaut es zumindest meistens aus. Da mir das aber - wie schon geschrieben - zuviele Plattenzugriffe sind und es sogut wie unmöglich ist, auf Templates mit INCLUDE zuzugreifen, die in einer Hashstruktur liegen, habe ich dann einen Tipp zu dem WRAPPER bekommen. Nun habe ich mir folgendes überlegt (beispielhaft): main.tmpl Code: (dl
)
1 [% BLOCK main %] index.tmpl Code: (dl
)
1 [% WRAPPER main test.pl Code: (dl
)
1 use Template; Ausgabe Code: (dl
)
1 <html> Ich lade also zuerst main.tmpl worin alle meine BLOCKs definiert sind und kann dann nachher individuell in den anderen Templates den Content mit dem WRAPPER zusammen basteln, dabei liegt alles schön im Speicher und läuft recht fix. Ich weiß, ich bin bestimmt nicht der erste, der darauf gekommen ist. :) Nun meine Frage... wie macht ihr das so und habt ihr vielleicht noch Tipps oder Anregungen, wie man es eventuell noch besser machen könnte? Bzgl. Speicher... die Gesamtgröße aller Templates ist ca. 1 MB und bei knapp 100 FastCGI Prozessen sind das verkraftbare 100 MB Haupt- speicher. Viele Grüße, opi What is a good module? That's hard to say.
What is good code? That's also hard to say. One man's Thing of Beauty is another's man's Evil Hack. |