Effizientestes Template-System
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
dank
datei
ding
entwickeln
entwickler
erfahrung
forum
glauben
leute
logik
meinung
nutzen
problem
projekt
regel
schleifen
system
verwenden
wissen
-
Hallo l-c Community.
Ich stehe gerade mitten in einem Website-Projekt und würde gerne eure meinungen hören: was ist eurer Meinung nach das effizienteste Template-System? ich kenne mich jetzt ehrlich geaagt nur mit Smarty aus, hab damit auch shcon ein paar gute Erfahrungen gemacht, würde aber gerne wissen, ob es ein System gibt, was noch effizientzer und performanter läuft als Smarty...
Danke schonmal im Voraus. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Nach meiner Erfahrung und seit dem ich programmiere steht beim Beginn jedes Projektes folgende Frage im Raum: Smarty verwenden oder eigene Templateengine entwickeln. Ich persönlich und alle Entwickler die ich kenne haben noch nie daran gedacht, etwas anderes als Smarty zu verwenden. Sollte Smarty den Anforderungen nicht genügen, wird meist eine individuelle Lösung entwickelt oder Smarty erweitert. Da du danach fragst, ob es etwas effizienteres bzw. performanteres als Smarty gibt, denke ich, dass für dich die Geschwindigkeit eine Rolle spielt. Wobei Smarty ja cached und dadurch eigentlich recht schnell ist.
-
sebulon schrieb:
Ja, aber das cachen wird wieder ein Problem, wenn es sich um ein projekt handelt, ´bei dem Leute konstant nur änderungwen machen... denn sobald eine Änderung wird das ganze ding ja wieder zusammengesetzt...
Nein eben nicht. Smarty hat seine eigene kleine "Scriptsprache". Diese wird in eine PHP-Datei umgesetzt (zB aus {meineVariable} wird eine Datei erstelt: <?php echo $meineVariable; ?>). Diese PHP-Datei wird 1x geschrieben (sofern die Templatedatei nicht geändert wurde) und ab da an immer aufgerufen, statt die Templatedatei neu in die PHP-Datei umzuwandeln. -
Smarty ist wohl bei vielen die erste Wahl, aber sofern man auf PHP Extensions freie Auswahl hat empfiehlt es sich über den Tellerrand zu schauen und eben jene Template Systeme die als PHP Extension daherkommen zu testen.
Oder der schon proklamierte Eigenbau.
Nach 2 Jahren Arbeit mit Smarty hab ich viel positives und sicherlich genauso viel negatives von Smarty Features und deren Verhalten erlebt. Sofern man ein großes Projekt und man genügend Zeit für ein gut konzipiertes Template System hat, sollte man sich die Zeit nehmen.
Mal schauen was an Systemen jetzt mit php 5.3 kommen, sicherlich werden da einige Perlen bei sein. -
welche Probleme könnten sich bei smarty entwickeln, die bei geringerer Auslastung nciht weiter auffallen?
Ic hdachte, dass smarty die seite nur aus dem Cache zieht, wenn absolut keine veränderungen daran vorgenommen wurden... also ein forum zum beispiel, wo regelmäßig gepostet wird, unterliegt ja konstanten änderungen... irgendwie glaube ich immer noch, dass das anders läuft... also wen ich das so gemacht hätte, hätte ich so einen check gemacht, dass der das immer ändert... -
sebulon schrieb:
welche Probleme könnten sich bei smarty entwickeln, die bei geringerer Auslastung nciht weiter auffallen?
Ic hdachte, dass smarty die seite nur aus dem Cache zieht, wenn absolut keine veränderungen daran vorgenommen wurden... also ein forum zum beispiel, wo regelmäßig gepostet wird, unterliegt ja konstanten änderungen... irgendwie glaube ich immer noch, dass das anders läuft... also wen ich das so gemacht hätte, hätte ich so einen check gemacht, dass der das immer ändert...
Du hast eine Scriptsprache (SmartyScript oder so, keine Ahnung wie das Dingends heißt). Darin stehen Dinge wie:
{if $foo eq "bar"} <p>Foobar</p> {else} <p>foo</p> {/if}
Daraus generiert Smarty beim 1. Aufruf PHP-Code (inline):
<?php if($foo == "bar") { ?> <p>Foobar</p> <? } else { ?> <p>foo</p> <? } ?>
und speichert diese Datei im Cacheordner. Fortan wird diese Datei aufgerufen, es ist von der Laufzeit also so, als ob du direkt PHP schreiben würdest. Somit wird auch nicht nur HTML gecached, sondern direkt der PHP-Code wodurch die Seite (zB dein Forum) dynamisch bleibt.
Nur ist eben die Frage, ob es Sinn macht, die Smartysprache zu verwenden statt den PHP-Code selber zu schreiben... Logik sollte man ja sowieso trennen, durch Smarty kommt aber wieder Logik in das Template. Von dem her: Sprecht das mit euren Entwicklern (PHP) und Designern (HTML) ab. -
ok...
Das mit dem Absprechen ist sowieso schon geklärt... ich diskutier nciht so gerne mit mir selbst^^
aber ist nicht gerade die Logic von Smarty dafür verantwortlich, dass ein teil sich ändern kann, ohne dass das große anpassungen seitens des anderen Parts erfordert? -
@Probleme: Javascript... ich bin dazu übergangen JS entweder schon im PHP zu schreiben oder Smarty mit {{ und }} anstatt { und } zu nutzen. Dann kann ich wenigstens Gefahrlos JS Code schreiben ohne ständig ein {literal} nutzen zu müssen.
@cache: Naja, den HTML Cache musst du selbst über die Smarty API verwalten, das macht Smarty nicht für dich. -
ok,danke dir, sowas wollt ich wissen^^ werd ich mich gleich mal reinlesen^^
-
Achja, und zur Logik. In aller Regel hat man im Smarty lediglich Anzeige-Logik und viele Schleifen. Die restliche Logik sollte vollkommen im eigentlichen PHP Code getan werden.
Alternativ anstatt von Smarty kannst du auch die alternativen Schreibweisen für Schleifen und IFs nutzen. Ist eigentlich auch recht sauber und man hat direkten Zugriff auf die PHP Funktionen, was man bei Smarty in aller Regel gar nicht hat. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage