Kosten für den Aufruf von {% spaceless%} in der Twig-Vorlage

8

Ich habe viele Twig-Vorlagen mit vielen Ebenen von Blöcken, die Tabs zum Einrücken verwenden. Das Endergebnis ist eine HTML-Datei mit vielen Zeilen (3700+) mit bis zu 10 Tabs am Anfang. Nach dem manuellen Entfernen der Registerkarten ist die Datei 25% kleiner. Ich weiß, dass ich die Funktion {% spaceless %} verwenden kann, um diesen Code zu umbrechen und alle erforderlichen Tabs zu entfernen. Räume. Ich weiß auch, dass es andere Lösungen gibt, wie den Code in mehreren Dateien zu trennen und sie dann zu integrieren, aber das erfordert mehr Arbeit.

Meine Frage bezieht sich auf die Leistung, das Entfernen dieser Leerzeichen mit {% spaceless %} kostet zwar, aber ich bin mir ziemlich sicher, dass die Operation nur einmal ausgeführt wird, wenn der Twig-Compiler die Twig-Dateien in PHP-Dateien transformiert Zwischenspeicher. Es sollte also keine negativen Auswirkungen auf die Produkt-Website haben. Meine Entwicklungsumgebung ist zu langsam, um das Vorhandensein von {% spaceless %} zu vergleichen. Können Sie mir bitte bestätigen, dass die Verwendung von {% spaceless %} meine Website nicht verlangsamen wird?

    
A.L 13.01.2014, 19:30
quelle

1 Antwort

8

Wenn Sie spaceless wird verwenden, wirkt sich dies negativ auf die Leistung beim Rendern von Vorlagen aus. Wenn Sie sich die Implementierung von compile -Methode ansehen, ist es ziemlich einfach zu verstehen: Spaceless Node Twig

Anstatt also nur die Ausgabe zu wiederholen, muss Ihre Vorlage die Ausgabepufferung starten, dann den Knoteinhalt drucken und schließlich preg_replace auf gepufferten Inhalt anwenden, um Leerzeichen zwischen html-Tags zu entfernen.

Alles in allem wird es negative Auswirkungen haben, aber ich bin mir nicht sicher, wie groß es sein wird. Sie können jedoch einige preg_replace-Tests erstellen, um festzustellen, ob Sie dadurch einen signifikanten Unterschied machen.

    
Igor Pantović 14.01.2014, 01:06
quelle

Tags und Links