Thread Vorteile von HTML::Template::Compiled (2 answers)
Opened by Gustl at 2012-03-16 04:18

pq
 2012-03-16 10:58
#156894 #156894
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
da ich die autorin von H::T::C bin, ist das natürlich subjektiv:
2012-03-16T03:18:50 Gustl
ich würde gerne die wahren Vorteile von HTML::Template::Compiled gegenüber dem Modul HTML::Template? Wäre das vielleicht schneller?

vieles dazu steht auch in der doku.
man kann nicht sagen, ob ein template-system schneller ist als das andere, weil es auf viele, viele parameter ankommt und wie das template aussieht.
es gibt ein paar eckdaten: ohne jegliches caching ist H::T schneller. mit filecaching ist H::T bei kleinen templates etwas schneller, bei grösseren holt H::T::C es ein und ist dann schneller.
mit memory caching ist H::T::C wesentlich schneller.

die option case_insensitive ist eine bremse, besonders bei H::T::C.

siehe den punkt BENCHMARKS in der doku.


Quote
Ist das Modul kleiner?

wie meinst du kleiner?
es ist bestimmt mehr quelltext als H::T, da es komplizierter aufgebaut ist.

Quote
Oder tut man sich bei der Umsetzung der übergebenen Paramter einfacher?

man kann IMHO einfacher auf die parameter zugreifen, da man nicht gezwungen ist, immer ein array of hashes of array of hashes zu haben.
und man kann sich in einem einzigen tag durch eine ganze struktur hangeln.

es gibt besser lesbarere syntax (muss man explizit aktivieren).

[%= .root.foo.bar %]
so sähe das dann aus. würde in perl
print $param->{root}->{foo}->{bar};
entsprechen, wobei der punkt aber auch objektmethoden aufrufen kann, je nachdem, was drinsteht in der variable.
es gibt ELSIF, SWITCH/CASE, EACH und ein paar sachen mehr.

Quote
2.Frage zu Templates:
Ich wollte gerade meine html ausgabe von meinem Template "optimieren", da die Datei schon etwas länger ist.
Also habe ich alles in eine Zeilge geschrieben. Dann kam wohl eine Fehlerausgabe. Ich meine ich habe irgendwo mal gelesen, dass irgendein Template Tag mit einem anderen wohl nicht in einer Zeile stehen darf.
Könnt ihr mir sagen welches? Oder täusche ich mich da?

diese frage verstehe ich überhaupt nicht.
welches template-system benutzt du? wie lautet die fehlermeldung? (warum postet eigentlich keiner mehr hier die fehlermeldung?)
und wie sieht der template-code an der stelle aus?

Editiert von pq: "root"-key ergänzt
Last edited: 2012-03-16 13:34:19 +0100 (CET)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Vorteile von HTML::Template::Compiled