Ich betrachte Smarty als meine Web-App-Template-Lösung, und ich bin jetzt mit seiner Leistung gegen einfaches PHP besorgt.
Die Smarty-Seite sagt, es sollte das gleiche sein, aber ich konnte niemanden finden, der echtes Benchmarking durchführt, um die Aussage richtig oder falsch zu beweisen.
Hat jemand ein Benchmarking von Smarty vs. plain PHP durchgeführt? Oder vielleicht stoßen Sie bei solchen Tests auf Ressourcen?
Danke
Da Smarty die Templates-Dateien am Ende zu nativem PHP-Code kompiliert und zwischenspeichert, gibt es tatsächlich keinen theoretischen Leistungsunterschied. Natürlich wird es immer einen Leistungsverlust geben, weil der Smarty-Code jedes Mal interpretiert werden muss.
Gerade gefunden dies sehr einfache Benchmark - wahrscheinlich nicht sehr wichtig.
Hier ist eine weitere Templating-Lösung XSLT hier sind meine Benchmarks für eine der Seiten, die ich konvertiert habe (es ist eine einfache Seite):
%Vor%Es ist nicht für jedermann, aber wenn Leistung ist Ihr Hauptanliegen:)
Darüber hinaus erlauben Sie dem Client, Ihre Vorlage zwischenzuspeichern.
Hier ist ein Beispiel für das, was ich mache (dies ist eine meiner Websites): Ссылка
und hier ist ein weiteres Beispiel dafür auf einer größeren Site: Ссылка
Bisher habe ich noch keine Show Stopper
Hier ein Template-Engine-Benchmark, der PHP vs Smarty und viele weitere Template-Engines testet Ссылка
Für die Zuordnung Twig ist der schnellere, es kompiliert die HTML-Vorlage zu einem Klassen, so ist es auch schneller in Ausführung mehr als das PHP include! IMHO ist schwer (viele Dateien) und kompliziert, ist aber sehr schnell!
Um schneller zu loopen, ist PHP enthalten, und bald darauf gibt es Rain, was sehr einfach ist, klein (1 Datei) und schnell.
Smarty generiert PHP-Code für alle seine Vorlagendateien, wenn sie zum ersten Mal verwendet werden, vorausgesetzt, Sie haben es richtig eingerichtet und verwendet sie, wenn möglich, anstatt die Vorlagen erneut zu analysieren.
Ich habe es eine Weile benutzt und es war schnell genug, aber am Ende habe ich es gegen einfache PHP-Dateien ausgetauscht, weil es ein bisschen einschränkend war (zu viele PHP4-Ismen).
Es hängt davon ab, wie Sie Smarty verwenden, da sich der Fluss Ihrer Seiten ändern
kannKlassischer einfacher PHP-Fluss:
Klassischer Smarty-Fluss:
Wenn einfaches PHP 1.0 sec für diese Seite benötigt, dauert die Smarty Seite auch 1.0 sec. ABER wenn wir annehmen, dass alle Datenbank und $ _request handeling dauert 0,7 Sekunden. Das einfache PHP startet die Ausgabe direkt, während die Smarty-Version nach 0,7 Sekunden beginnt. Daher kann der Browser Stylesheets und Bilder schneller herunterladen. Keine Ausgabe bedeutet auch, dass die Schaltfläche "Stop" keine Wirkung hat.
In Smarty können Sie jedoch Funktionen und Methoden aus der Vorlage aufrufen. Verzögern des langsamen Teils, wo die Daten benötigt werden.
Es gibt einen Ersatz für Smarty namens Template Lite , der in Bezug auf die Größe der Bibliotheksdatei viel leichter ist. Nichtsdestoweniger habe ich das ursprüngliche Smarty in einigen extrem hohen Lastsituationen verwendet, ohne diese Bibliothek austauschen zu müssen.
Aufgrund eigener Erfahrungen und informeller Benchmarks führt Smarty allein nicht zu wesentlichen Leistungseinbußen. Wenn Sie jedoch benutzerdefinierte Plugins schreiben, geht es bergab.
Eine Smarty-Vorlage ist kompiliert & amp; als PHP gespeichert, aber ein benutzerdefiniertes Plugin wird immer zur Laufzeit geladen und ausgeführt und ist immer langsamer als der gleiche Code in einer einfachen alten PHP-Datei auszuführen. Sie werden dies mit einem benutzerdefinierten String-Formatierungs-Plugin nicht allzu sehr bemerken, aber Sie werden es definitiv sehen, wenn Sie Datenbank-Abfragen in einem Plugin machen.
Insgesamt empfehle ich Smarty. Die Darstellung des PHP aus dem Display hat unseren Code deutlich lesbarer und wartbarer gemacht. Sie müssen nur sicherstellen, dass Sie vorsichtig sind, was Sie in Plugins einfügen.
Tags und Links php template-engine smarty