smarty oder pear/template IT?



  • welche der beiden template engines findet ihr besser?
    hab bis jetzt nur die pear tempales verwendet,
    aber nach kurzen "reinschnüffeln" in die smarty engine ueberlege ich stark ob ich nicht umsteigen sollte..



  • Ich halte von keiner Template-Engine sonderlich viel.

    Smarty ist viel zu überfrachtet und komplex, da kannst du auch gleich PHP benutzen.



  • vor allem kann der entwickler der Templates die syntax von php eher nachschlagen als die von smarty. die wahrscheinlichkeit, dass er php zumindest in grundlagen beherrscht, ist größer als die, dass er smartys syntax auswendig kennt.



  • ich verwende nun schon lange smarty und bin zufrieden.



  • dito. Smarty bietet eine gute Erweiterung zu PHP, und man hat den
    Anwendungscode endlich aus dem Darstellungscode raus.



  • phlox81 schrieb:

    Anwendungscode endlich aus dem Darstellungscode raus.

    Dafür aber Dinge in der Smarty-Syntax, die wesentlich komplexer sind als wenn man sie in PHP realisieren würde, und locker als neuer "Anwendungscode" durchgehen könnte.

    Naja, ich finde dieser Template-Engine-Wahn ist ein Witz, und letztendlich ist Smarty eher ein in PHP nachprogrammiertes PHP, aber jedem das seine ...



  • Reyx: Du hast noch nie Smarty für ein richtiges Projekt verwendet, oder?
    Ich muss Unix-Tom und phlox81 zustimmen; smarty ist sehr praktisch. 👍



  • Ich habe durchaus oft mit dem Gedanken gespielt, eine Template-Engine zu verwenden, und natürlich bin ich dabei sehr schnell zu Smarty gekommen, aber ich finde es ist einfach überfrachtet.

    Es heißt immer: Design vom Anwendungcode trennen, aber Smarty macht in seiner komplexität genau das, was PHP auch machen würde, nur mit anderer Syntax. Und da kann man dann genau so gut natives PHP benutzen. Lediglich die Catch-Funktion ist auf jeden Fall benutzbar.

    Aber wie gesagt: Das ist meine Meinung, und die Stütze ich auf persönliche Erfahrungen mit Smarty. Dass andere das da anders sehen ist mir klar 🙂



  • Man muss ja in Smarty nicht alles verwenden.
    Man braucht ja keine IF etc. einbauen.
    Es reicht ja nurmal die Ausgabe der Variablen. Das trennt schon vom Code.
    Für komplexe Seiten braucht der Webdesigner nur die Syntax von Smarty (HTML-Seite) lernen.
    Mehr nicht. Muss also nichts über PHP wissen.
    Der Coder braucht aber auch nicht die Syntax auf der HTML-Seite lernen. Es reicht wenn er den PHP-Teil lernt.
    Somit können beide unabhängig Seiten erstellen.
    Smarty ist auch noch sehr schnell für den Funktionsumfang.



  • Das will ich alles gar nicht bestreiten, nur ich persönlich finde es ziemlich wurscht, ob da dann "{Var}" oder "<?php print($Var); ?>" steht; Das bisschen Tipparbeit kann man dem Designer dann schon zumuten.

    Die Kontrollstrukturen sind da das geringste Problem, aber Smarty hat ziemlich viele Sachen drin, die einfach nicht in eine Template-Engine rein gehören, und dafür den zu parsenden Code mächtig aufblähen (auch wen Smarty in der Tat seehr schnell ist).

    Ich will nicht die Berechtigung von Smarty anzweifeln oder seinen Nutzen, aber ich persönlich finde es halt überflüssig; Das beziehe ich aber nicht auf Smarty speziell sondern auf alle Template-Engines. Ich habe einfach bei meiner Arbeit mit Smarty gesehen, dass ich fast alles, was ich über Smarty gemacht habe, auch genau so einfach (und mit genau so viel Text) in PHP schreiben kann. Und ob sich der Designer dann die Smarty-Syntax oder die paar Fetzen PHP aneignet, halte ich dann für relativ gleichwertig.

    Wo ist denn der Vorteil des ersten Codes (ist jetzt Pseudocode) gegenüber dem Zweiten (bis auf das ewige <?php und ?>)?

    {IF Name <> "Guest"}
    <span style="font-weight: bold;">Herzlich willkommen, {Name}!</span>
    {END IF}
    
    <?php if($Name != 'Guest')   { ?>
    <span style="font-weight: bold;">Herzlich willkommen, <?php print($Name); ?>!</span>
    <?php } ?>
    


  • Der Vorteil ist das nicht jeder Designer/Grafiker ein Programmierer ist.
    Es soll auch großere Projekte geben die nicht nur von einem alleine gemacht werden.
    Es soll auch Entwicklungswerkzeuge geben die einem vieles abnehmen. Es soll Teams geben die sowas dann auch nutzen.
    Ein HTML-Code oder eine Ausgabe hat in einer PHP-Datei IMHO nichts verloren.



  • Smarty und so sind ganz gut und nützlich,.

    Persönlich nutze ich die nicht, weil ich mir eine eigene Template-Klasse geschrieben habe. Die Sogar DB Ausgaben handeln kann und if else Arten im HTML Code verwalten kann.

    Da für mich Smarty für zu komplex und überzogen ist für meine Dinge, nutze ich liebe meine kleine Klasse.

    Ein Vorteil hat es aber auch,w enn man was erweitern wil, weiß ich wie,wo ich das tun kann. Bei Smarty (etc.) müßte ich mich reinlesen.



  • Unix-Tom schrieb:

    Der Vorteil ist das nicht jeder Designer/Grafiker ein Programmierer ist.
    Es soll auch großere Projekte geben die nicht nur von einem alleine gemacht werden.
    Es soll auch Entwicklungswerkzeuge geben die einem vieles abnehmen. Es soll Teams geben die sowas dann auch nutzen.
    Ein HTML-Code oder eine Ausgabe hat in einer PHP-Datei IMHO nichts verloren.

    Für den HTML-Entwickler macht es aber sicherlich mehr Sinn, die PHP-Syntax zu lernen, als die Smartys. Er hat davon einfach mehr in der Zukunft. Irgendwann stößt doch jeder Webdesigner mal auf PHP und sei es nur das Gespräch der Kollegen, welches er dann evtl besser verstehen kann.
    Ich benutze zum Beispiel die Template-Engine PHPView aus Mojavi und weil ich den HTML-Code selber schreibe, brauch ich mich schonmal nicht mehr mit der Smarty-Syntax rumschlagen. Ich habs in einem Projekt getan. Seit dem benutz ich Smarty nich mehr 😃


Anmelden zum Antworten