php / Templating vs Echo

8

Ich würde gerne wissen, welche für die Leistung am besten ist:

1- Verwenden Sie Smarty-Vorlage (oder andere besser)

%Vor%

2- verwende diesen Code:

%Vor%

3- benutze diesen Code:

%Vor%

basierend auf diesen 3 Beispielen kann ich nicht über ein neues nachdenken, welches man am besten bei der Performance verwenden sollte

Hinweis: Natürlich habe ich mehr Variablen als dieses Beispiel.

Danke

    
Neil 17.11.2011, 03:44
quelle

2 Antworten

11

Soweit ich mich erinnere, ist die Verkettung von PHP-Variablen (wie in Ihrem dritten Beispiel) schneller als die Verwendung von "$var1 $var2" bei einer Mischung aus Variablen und konstanten Strings, da jedes Token im laufenden Betrieb ausgewertet wird (was schlecht ist).

Also, zwischen 2 und 3, glaube ich, hängt das vom Kontext ab: Wenn Sie eine lange Zeichenfolge mit einer Mischung aus Variablen und Konstanten haben, wäre Methode 3 schneller. Ansonsten, wenn es mit Ihrem Beispiel identisch ist, könnte 2 schneller sein ( jedoch ist der Unterschied vernachlässigbar und sollte daher ein strittiger Punkt sein ).

Die Verwendung einer Templating-Engine ist immer langsamer als der rohe Code.

Jetzt Wenn Sie keinen sehr guten Grund haben, keine Template-Engine zu verwenden, sollten Sie bei allen Accounts einen verwenden. Warum?

  • Trennung von Bedenken : Ihr PHP sollte sich nicht um Ihren HTML-Code kümmern und umgekehrt.
  • Wartung : Die Pflege kann zum Albtraum werden, wenn Sie HTML und PHP (oder jede andere Sprache) mischen und wirklich um jeden Preis vermieden werden sollten (es sei denn, Sie machen etwas, das absolut trivial ist).
Demian Brecht 17.11.2011, 03:51
quelle
2

Nur Leistung? Im ersten Beispiel verwenden Sie Smarty, eine ziemlich gewichtige Bibliothek, die aus Tausenden von Zeilen PHP-Code besteht. In den nächsten zwei verwenden Sie nur drei Zeilen PHP . . Natürlich werden diese zwei viel schneller sein, mit weniger Overhead, da PHP Smarty nicht zuerst parsen muss.

Ob String-Verkettung oder Unterstation von Variablen und welche Anführungszeichen usw. schneller sind, es ist eine Mikro-Optimierung, die auf einer Sub-Facebook-Skala wahrscheinlich keinen Unterschied macht. Der eine oder andere rettet nur Nanosekunden. Sie können Live-Vergleiche auf dieser Seite lesen: Ссылка wenn das hilft.

    
JAL 17.11.2011 03:50
quelle