Thread wie trenne ich den Inhalt und das layout bei cgi/html (43 answers)
Opened by chris- at 2008-10-01 10:05

pq
 2008-10-07 12:29
#115240 #115240
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
Auctioneer+2008-10-07 01:58:23--
Da normalerweise in einem Script sehr viele sehr kurze HTML Sequenzen vorhanden sind, die vielleicht nur eine oder zwei HTML Zeilen beinhalten, macht es fast keinen Sinn, derartige Dinge auszulagern, denn sonst verliert man ohne HTML Teile letztlich den Ueberblick im Script selber.

nein, denn html ist nur das layout der daten. man bringe die daten in eine vernünftige form und
schicke sie ans template.
Quote
Ich habe mir soeben ein derartiges "Werk" zur Brust genommen und gestaunt, wie schlecht man es machen kann, nur weil man um jeden Preis "templaten" wollte.

und ich hab noch viel schlechtere dinge gesehen, die unbedingt templating vermeiden wollten
oder ihr eigenes templating machen wollten (letzteres inklusive meinem eigenen code).
Quote
Die Geschwindigkeit von HTML Teilen innerhalb Scripts kann massiv erhöht werden, wenn der Server nicht jeden Buchstaben eines HTML Teils als Perl Script Teil abrufen (und auf scripttechnische Korrektheit prüfen) muss, sondern den HTML Teil nur als reinen Text (ohne Fehlerkontrolle) ablesen kann. Das erreicht man, wenn man HTML Sequenzen anstatt:

print "<img src=\"musterbild.jpg\" alt=\"Muster text\" border=\"0\">";

so:

print qq|<img src="musterbild.jpg" alt="Muster text" border="0">|;

sorry, aber jetzt wirds esoterisch. das ist einfach nur quatsch. das macht nicht den
geringsten unterschied. ich empfehle dir, Benchmark.pm auszuprobieren.
beide beispiele sind zudem double-quotes.
Quote
Es gibt noch andere Varianten wie:

print <<EO_HTML;
<img src="musterbild.jpg" alt="Muster text" border="0">
EO_HTML
[...]
Die viel eingesetzte, erfahrungsgemäss jedoch schlechteste Variante ist:

print =<<"EOF"
...
...
EOF

weil hier die Perl Backslashes \ auch innerhalb HTML beibehalten werden müssen, sonst gibt es haufenweise Errors

bitte was? langsam geht mir dein posting auf die nerven. teste bitte vorher deine behauptungen.
zudem ist <<"EOF" und <<EOF dassselbe, lediglich <<'EOF' ist was anderes (keine interpolation).

Quote

in anbetracht deiner empfehlungen und zweifelhaften aussagen würde ich doch gerne mal den code sehen...
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 wie trenne ich den Inhalt und das layout bei cgi/html