Olaf: Templates Pro und Contra

Hallo,

ich habe vor kurzem angefangen, mich in die Template-Thematik einzuarbeiten. Was mir noch nicht ganz klar ist:

Gibt es definitive Nachteile bei der Verwendung von Templates und den diversen Parsern in Bezug auf der Geschwindigkeit des Seitenaufbaus?
Ich denke, dass der Server u.U. mehr zu tun hat und es somit länger dauern kann, bis eine Seite aufgebaut worden ist, wenn auch nicht großartig merkbar.
Belastet man den Server evtl. mit solch einem Verfahren zu stark? (Normaler Webspace bei Provider auf Server mit mehreren Kundenaccounts)

Wenn man einen eigenen Parser schreibt, könnte man die Serverlast im Gegensatz zu den geläufigen Parsern evtl. noch vermindern, da man ihn auf die eigenen Bedürfnisse anpassen würde?

Gruß
Olaf

  1. Hi,

    Nachteile:

    • die Verwendung von vielen "includes" verringert die Übersichtlichkeit, bzw. Transparenz der Webseite, weil die Bausteine in einzelnen Dateien gespeichert sind und nicht zusammenhängend, bzw. an einem Stück bearbeitet werden können.
    • Abhängigkeit von einer bestimmten, im Vergleich zu HTML nicht standardisierten Technik/Struktur/Formatierung (Platzhalter, Schleifen)
    • wenn die Umwandlung auf dem Server stattfinden soll, muß das Webspace-Paket über entsprechende Zusatzleistungen (Sprache wie PHP, Perl, ASP) verfügen.

    Natürlich kostet eine Template-Engine während der Seiten-Generierung einiges an Performance und kann den Server damit stark belasten.

    Durch Caching-Mechanismen läßt sich die Performance aber stark verbessern, da nur noch bestimmte dynamischen Ersetzungen in Echtzeit vorgenommen werden (vergleichbar mit einer gewöhnlichen PHP-Seite). Der Rest muß nur ein einziges mal übersetzt werden, beim ersten Zugriff oder wenn sich etwas an den Dateien ändert.

    Von einem eigenen Parser würde ich wg. des hohen Aufwands abraten. Außerdem sind die verbreitesten Engines ziemlich weit entwickelt, bzw. bereits optimiert (z.B. durch Caching).

    MfG
    Danny

    1. Hi,

      • die Verwendung von vielen "includes" verringert die Übersichtlichkeit, bzw. Transparenz der Webseite, weil die Bausteine in einzelnen Dateien gespeichert sind und nicht zusammenhängend, bzw. an einem Stück bearbeitet werden können.

      Gerade die includes und diversen Funktionsaufrufe machen manche Skripte aber auch erst wieder lesbar. Da kann man sich meiner Meinung besser einarbeiten als in ein ellenlanges Skript.

      Natürlich kostet eine Template-Engine während der Seiten-Generierung einiges an Performance und kann den Server damit stark belasten.

      Gibt es da Vergleichswerte zwischen "normalen" php-Skripten und php-Skripten mit Template-Engine?

      Von einem eigenen Parser würde ich wg. des hohen Aufwands abraten. Außerdem sind die verbreitesten Engines ziemlich weit entwickelt, bzw. bereits optimiert (z.B. durch Caching).

      Gibt es da irgendwelche Empfehlungen? vLib, Smarty, ...?

      Gruß
      Olaf

      1. Hallo,

        |Gibt es da Vergleichswerte zwischen "normalen" php-Skripten und php-Skripten mit Template-Engine?

        bau dir doch einen ;)

        Nimm eine Seite ohne Temp und eine mit (am beste die gleiche mege an Daten, und etwas umfangreicher)

        Ganz oben nimmst du die zeit (am besten mit mirko Sek) und am ende der der Seite die Zeit

        Dann nimmst du die differenz und gibst die aus.

        P.S. So geht das bei Q-Basic, ich denke das sollte auch bei PHP gehn.

        MFG
        Andavos

        --
        http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr
      2. Hi,

        Gerade die includes und diversen Funktionsaufrufe machen manche Skripte aber auch erst wieder lesbar. Da kann man sich meiner Meinung besser einarbeiten als in ein ellenlanges Skript.

        So war das auch nicht gemeint. Es ging mir hauptsächlich um HTML, nicht um Skripte. Einzelne HTML-Dateien (Design-Vorlagen) kannst Du z.B. mit WYSIWYG-Editoren wesentlich besser bearbeiten, bzw. visuell entwickeln, als viele einzelne Code-Schnipsel. Du kannst natürlich auch den HTML-Entwurf von Hand in Einzelteile zerlegen und evtl. später wieder zusammenbauen aber das ist ziemlich aufwendig. Es ist natürlich hauptsächlich von Nachteil für die visuelle Bearbeitung. Arbeitest Du rein Quellcode-orientiert und programmierst lieber, dürfte das weniger schlimm sein.

        In meinen Augen macht es auch wenig Sinn, HTML und PHP-Code stark zu vermischen. PHP wurde zwar gerade dafür entwickelt aber bei sehr umfangreichen Skripen sollte man versuchen, Logik und Layout weitgehend zu trennen, mit einzelen, in sich abgeschlossenen Funktionen oder eben Templates. Das kannst Du Dir so vorstellen, wie HTML (Struktur) in Verbindung mit CSS (Formatierung).

        Gibt es da Vergleichswerte zwischen "normalen" php-Skripten und php-Skripten mit Template-Engine?

        Vergleichswerte kenne ich jetzt nicht. Man kann aber bestimmt leicht eigene Benchmarks schreiben, indem die einfach Zeit von Beginn bis Ende des Skripts gemessen und ausgegeben wird.

        Über Smarty habe ich kürzlich einen Artikel gelesen, soll ziemlich flexibel, leicht erweiterbar und dafür relativ schnell sein.

        MfG
        Danny