[Gelöst] Template-Teile includen - Performance impact?
am 16.12.2012 - 14:29 Uhr in
Hallo zusammen,
ich hätte mal eine Frage an einen PHPler, respektive Server-Kenner, wenn man das so sagen kann.
Es geht um Folgendes: Als primäres Handwerk, was Webdesign angeht, erstelle ich Premium-Themes für Wordpress, und dort nutzt man durchaus eine Verhaltensweise in Themes, die ich so, wenn möglich auch bei Drupal einsetzen würde. Dort werden einzelne Theme-Komponenten, z.B. eine Region die einen Slider enthält, z.B. via:
<?php
get_template_part('index', 'slider');
?>
in die Hauptdatei "included". Das hat den Vorteil, dass z.B. die Index.php sehr sauber und aufgeräumt aussieht, und man viel spezifischer bei Problemen agieren kann, da man für "Komponenten" die entsprechende Datei öffnet, wie in diesem Fall die "index-slider.php". Siehe auch: codex.wordpress.org
Aktuell ist es so, dass meine page-front.tpl.php aus allen Löchern quillt, und so langsam wird es unübersichtlich. Weiterer Vorteil ist, dass man so Code-Teile leicht auch in anderen Templates wiederverwenden kann, indem man einfach den entsprechenden Part einbindet.
Bei Drupal habe ich das nun auch mal gemacht, und binde einzelne Teile z.B. via:
<?php
include ($directory."/widgets/news.php");
?>
ein, wobei Widgets eben einzelne Teile sind.
Das funktioniert auch problemlos, und ist für Seiten mit viel Code deutlich übersichtlicher.
Meine Fragen sind nun:
- Ist dieses Verhalten in Drupal "zulässig", oder sollte man andere Wege gehen?
- Viel wichtiger: Wie wirkt sich das auf die Performance aus? Bedeutet dieses "includen" zusätzliche Anfragen, oder hat es gerade bei großen Seiten Einfluss auf die Performance?
Für etwaige Tipps danke ich im Vorfeld! :)
- Anmelden oder Registrieren um Kommentare zu schreiben
Da das include eine
am 16.12.2012 - 15:57 Uhr
Da das include eine PHP-Anweisung ist, passiert sie auf dem Server bereits vor der Auslieferung an den Browser. Der Client merkt davon also nichts und das ist auch keine zusätzliche Abfrage. Es ist auf dem Server etwas mehr Aufwand, aber ich glaube nicht, das das besonders relevant ist, da die page.tpl.php immer nur einmal durchlaufen wird. Es gibt also pro include einen Dateizugriff auf dem Server zusätzlich, aber direkt ins File-System und nicht über das Webinterface.
Beste Grüße
Werner
Hallo Werner, das ist für
am 16.12.2012 - 16:02 Uhr
Hallo Werner,
das ist für mich eine "positive" Nachricht, die mir, und dem späteren Tech-Team, insgesamt das Leben erleichtern wird. So lässt sich das etwas übersichtlicher darstellen und am Ende auch dokumentieren.
Danke dir vielmals für deine Hilfe, und einen schönen Sonntag wünsch ich dir noch,
Lars