Templates ohne Smarty usw. programmieren

  • Themenstarter Themenstarter adlershof
  • Beginndatum Beginndatum
A

adlershof

Hallo Tutorials-Community,

da ich vorhabe eine Webseite mit Templates zuversehen, wollte ich fragen, wie man Templates erstellt und programmiert.
Ich habe auch schon bei Google geschaut wie ein blöder. Allerdings möcht ich eigenständig lernen Templates zuprogrammieren, um das auch wie ich finde, dann besser nachvollziehen zukönnen. Bei meiner Suchrecherchie habe ich in Sachen Templates allerdings nur dieses mit Smarty, FastTemplate usw. gefunden. Diese Sachen möchte ich nicht.

Könnt Ihr mir vielleicht, Tipps und Hinweise geben?
 
"Ich möchte lernen Templates zu programmieren"

Templates kann man nicht programmieren. Templates sind Platzhalter, z.B. Dateien, die von einem Template-Parser (z.b. Smarty, FastTemplate) durchlaufen werden und mit Inhalten gefüllt werden.

Ein Template kann z.B. aus html bestehen. Darin können sich platzhalter befinden, z.B. in der Form {$meinPlatzhalter}.

Diesen Platzhaltern können dann mittels der TemplateParser-Methoden Werte zugewiesen werden.

Ich würde dir ausdrücklich davon abraten so ein Unterfangen selbst zu programmieren.
Smarty ist ein sehr mächtiges Werkzeug. Es lohnt sich einfach nicht diese Arbeit zu machen (und es ist denke ich auch unmöglich ... in soetwas stecken unmengen von Arbeit).
Mit Smarty kannst du spielend leicht die schönsten Dinge machen, zudem besitzt es ein eigenes Template-Syntax ähnlich dem von PHP, du kannst also z.B. innerhalb von templates mit Schleifen oder ähnlichem arbeiten.

Smarty ist sehr gut dokumentiert und ist leicht einzubinden.
Du kannst dich also grundlegend über das Funktionsprinzig informieren.

Ich hoffe ich konnte dir helfen.
 
Es gibt einen Unterschied zwischen "Templates" und "Template Engine". Templates sind im besten Falle nur HTML Dateien. Template Engines sind sowas wie Smarty, FastTemplate, Savant etc.

Ich habe auf Basis dieser Beispiel Template Engine mir eine eigene geschrieben (vor allem alles auf PHP5 getrimmt, optimiert etc.). Vielleicht hast du da ja auch Spaß dran ;)


Gruß Radhad
 
Wollte mal fragen, ob nur das reicht oder ob da doch noch mehr hinmuss.

PHP:
<?php
function gettemplate($template)
{
return str_replace("\"","\\\"",implode("",file($template)));
}

function dooutput($template) {
echo $template;
}
?>

Weil so mit dieser kurzen Sache funktioniert es bisher auch.
 
Neija das ist eben das minimalste, es fehlen die ganzen Vorteile von Smarty mit Funktionen, Schleifen, Variablen-Modifikatoren, Caching, Mehrsprachigkeit etc etc
 
Hallo,
bei den PHP - Tutorials findet man auch ein paar solcher Klassen, schau dir die doch mal an, vielleicht hilft dir das ja als Anregung.

mfg
forsterm
 
Naja, das bissl kann man auch selber programmieren ;) Ich hab zumindest mal ne "foreach" programmiert, wo z.B. ein News-Template mehrfach in das Index-Template geschrieben wird. Die Klasse selber ist schon für Mehrsprachigkeit ausgelegt. Mit einer eigenen Language-Klasse sollte man das aber noch optimieren können. Caching sollte auch recht schnell gehen, da mit file_put_contents() es auch eine schöne Funktion von PHP gibt. Ehrlich gesagt, mehr brauch man auch nicht ;) Vorteil ist, ich kenn die internen Abläufe zu 100%, da ja alles von mir ist!
 
Zurück