Smarty, oder andere Template-Systeme, erlauben Dir Programm und Design zu trennen.
Die von mir verlinkte Seite beschreibt zwar auf Englisch, aber besser, als ich es je könnte, dass ein Template-System wie Smarty eben nicht Programm-Logik vom Design trennt, sondern Business-Logik von der Darstellungs-Logik. Das ist ein klein wenig anders.
Viele schaffen das nicht ohne fremde Hilfe. Um ehrlich zu sein fiel mir das früher auch erheblich schwerer als jetzt.
Naja, wenn sich jeder auf seine Fähigkeiten beschränkt, geht das schon. Bei Ein-Mann-Projekten stellt sich allerdings die Frage: Wenn der "Web-Designer" sowieso mit PHP programmiert, warum nutzt er dann nicht die Fähigkeiten der Sprache, statt eine zweite Sprache (die von Smarty) zu lernen? Eben weil Smarty ja diverse PHP-Funktionalität nachbildet, kann man doch auch gleich das entsprechende PHP-Konstrukt benutzen. Letztendlich schreibt man sonst eine "HTML-Datei", die Smarty-Befehle enthält. Diese Befehle werden von einem PHP-Script interpretiert, dass erst den Smarty-Code in PHP-Befehle umwandelt, diese ausführt und schließlich die Ausgabe erzeugt.
Davon abgesehen kann ein Smarty-Template von jedem halbwegs geschickten Grafiker editiert werden.
Kommt darauf an, in welchem Fach der Grafiker geschickt ist. ;-)
Ich würde eher darauf tippen, dass er geschickter mit Photoshop als mit der Smarty-Syntax ummgehen kann. Zumindest ist das bei den Grafikern so gewesen, die ich kenne/kannte ...
Wer keine Ahnung von PHP hat plagt sich mit einer komplexen, verschachtelten PHP-HTML-Mischung oft stundenlang rum.
Die Smarty-Befehle finde ich um einiges komplizierter als die von PHP.
Wenn es über Flat-Templates oder eben das Ersetzen von simplen Platzhaltern mit Namen durch die Inhalte der gleichnamigen Variablen geht, ist PHP-Code kaum komplexer als Smarty. Oder ist
<?=$variable;?>
wirklich so viiiiel komplizierter als
{$variable}
?
Bei den komplexeren Smarty-Anweisungen dürfte der Unterschied noch geringer ausfallen.
Und wer hat bitte noch niemals solch eine Mischung fabriziert?
Keine Ahnung, ich geb mir Mühe, sowas nicht zu machen. Es gibt ja in PHP diverse Möglichkeiten, zumindest den Großteil der Anzeige-Daten vom Progamm-Code zu trennen.
Na und was spricht dagegen den Cache zu aktivieren? Es ist ja nicht so als wäre das bei Smarty sonderlich schwierig.
Ich wüsste nichts, was dagegen spräche. Aber der Cache nützt ja nur dann was, wenn seltenen Änderungen viele Abrufe der Seite gegenüberstehen. Wird der Seiteninhalt oft geändert, kann der Cache seine Stärken nicht ausspielen.
Ich sage ja außerdem nicht dass Smarty der Königsweg ist. Ich behaupte nur, dass ich zum jetztigen Zeitpunkt nichts besseres, bzw. praktikableres kenne. Nutze die Gelegenheit und erleuchte mich, so Du dazu fähig bist.
Ich glaube nicht, dass ICH dazu fähig bin. Aber diese Template-Engine ist mindestens so leistungsfähig wie Smarty, hat einen Cache und benötigt lediglich 3525 Bytes Speicherplatz für ihr Script (gemessen mit "CRLF"-Zeilenumbrüchen, unter Unix ist sie also noch kleiner ;-)).
(Nicht ganz ernst gemeintes) P.S.: Und der Syntax-Highlighter vom SELFFORUM kennt [соdе lang=smarty] auch nicht!
MffG
EisFuX
... Suchmaschinen-Blog ...