Was sind Templates?
muenzchen
- php
Hallo!
Kann mir jemand erklären was Templates (in PHP) sind?
Ich habe nirgendwo etwas Gescheites dazu gefunden.
MfG, muenzchen
Hi,
Kann mir jemand erklären was Templates (in PHP) sind?
Wenn Du darüber nix findest, bist Du ziemlich doof!
MfG
Der Lehrer
Danke für diese überaus tolle Erklärung, du Kind. Geh schlafen und nerv hier nicht rum.
Bitte.
Sorry, mein Tonfall war vielleicht nicht ganz angebracht und etwas primitiv.
Aber wenn Du so erwachsen bist, warum fragst Du dann nicht einfach Deinen Freund Google oder das Self-Archiv? Mensch, das kostet doch nun wirklich nicht viel Zeit und kann doch nicht so schwer sein.
Selbst wenn Du nach "was sind templates" suchst, finden Suchmaschinen in der Regel Antworten auf Deine Frage...
Template ist zudem ein recht allgemeiner, englischer Begriff und bedeutet so viel wie "Vorlage".
Gruß
Hallo muenzchen,
Kann mir jemand erklären was Templates (in PHP) sind?
Das Konzept hat nichts mit PHP direkt zu tun. Man kann Templates in PHP umsetzen, man kann es aber genausogut in jeder anderen Sprache tuen. Vorneweg: Für PHP gibt es verschiedene Template-Implementationen, ich selbst bevorzuge Smarty. (http://smarty.php.net/)
Das Konzpet an sich ist ganz einfach: Wenn Du »normalerweise« mit PHP HTML-Code erzeugst, dann wird das in etwa so aussehen:
<?php
...
echo "<html-code-geht-hierrein>";
echo "noch mehr html-<code>";
echo "und ein schönes <img>Bild";
...
?>
Das Problem dabei ist: Wenn Du etwas am ausgegebenen HTML-Code ändern willst, dann musst Du Dich durch ewige PHP-Codewülte quälen.
Mit Templates trennst Du sauber Programmlogik und erzeugten HTML-Code. Ich mache mal ein Beispiel: Du schreibst ein einfaches Script, dass zwei Zahlen miteinander multiplizieren soll. Dein Script rechnet das Ergebnis normal aus und weist dann einem Template bestimmte Variablen zu, in diesem Fall die zwei Zahlen sowie das Ergebnis. In der Template selbst werden dann von einer sog. Template-Engine die Variablen durch die Werte ersetzt und das so entstandene Dokument wird ausgegeben. Bei Smarty sähe das für dieses Beispiel so aus, bei anderen Template-Engines sieht das teilweise anders aus:
<h1>Multiplikation</h1>
<p>Die Zahl {$Zahl1} multipliziert mit {$Zahl2} ergibt {$Ergebnis}.</p>
Wenn das Template dann vom Script »verwendet« wird, dann werden automatisch Zahl1, Zahl2 und Ergebnis ersetzt, also sieht die Seite, die an den Browser kommt, dann so aus:
<h1>Multiplikation</h1>
<p>Die Zahl 12 multipliziert mit 12 ergibt 144.</p>
Wenn Du nun was ändern willst, dann änderst Du einfach die entsprechende Template. Das PHP-Script berührst Du nicht einmal. Wenn Du statt multipliziert lieber einfach nur »mal« schreiben willst, dann kannst Du die Template einfach so abändern:
<h1>Multiplikation</h1>
<p>{$Zahl1} mal {$Zahl2} gleich {$Ergebnis}.</p>
Dann kommt beim Browser
<h1>Multiplikation</h1>
<p>12 mal 12 gleich 144.</p>
an.
Natürlich kann man mit Templates viel mehr, ich würde Dir aber in dem Fall einfach mal vorschlagen, die Dokumentation einer Template-Engine durchzulesen.
Christian
Danke, deine Erklärung hat mir sehr geholfen :)
MfG, muenzchen