Leslie: vlibTemplate vs. smarty

Hy,

ich möchte mein kleines Gästebuch (wird ziemlich simple, aber effektiv) mit Templates "designen". Nach einigem einlesen in die Template-Geschichte bin ich jetzt auf zwei Template-Klassen gestoßen.
Der "große Standard" Smarty, und vlibTemplate. Letzteres soll wohl vor allem für kleine Aufgaben recht gut sein. Das Smarty sei für viele kleiner Aufgaben überladen (viele Verzeichnisse, Datein usw.).

Kann mir das hier ein erfahrener Benutzer bestätigen? Oder was würdet ihr mir empfehlen? Auch noch andere Klassen?
Und eventuell ein gutes (deutsches oder auch englisches) Tutorial dazu?

Danke!
Gruß Leslie

  1. (wird ziemlich simple, aber effektiv)

    Kann man damit dann auch Beiträge schreiben ;-)

    Also Template-Engines finde ich persönlich schwachsinnig. Wenn man halbwegs intelligent PHP programmiert, kann man den eigentlich PHP-Code problemlos vom HTML-Code trennen und mehr macht eine Template-Engine nicht. Die Entschuldigung, dass Web-Designer die Template-Sprache besser erlernen könnten als das Grundwissen von PHP, ist auch nicht berechtig. Die Syntax unterscheidet sich eigentlich nur in der Einleitung des Scripts ("<?php" wird zu "{"). Das oft angepriesene Caching wird von PHP sowieso übernommen und ist auch sinnlos. Was vielleicht für Template-Engines spricht, wären einige nützliche Funktionen, die den Ausgabe-Code verkürzen. Kann man mit PHP aber auch machen. Alleine die Überlegung, dass PHP-Code, der vom Server umgesetzt wird, Template-Code umsetzen soll, obwohl PHP ja eigentlich auch nichts anderes ist als eine Template-Sprache ... ô_Ô

    So, und jetzt möchte ich mal ordentlich zerissen werden ;-P

    1. Hi,

      also ich dachte an Templates weil es (glaube ich) schon erheblicher einfacher ist, das Design zu verändern. Neue Tabelle für die Beträge des GB designen, Platzhalter einfügen und fertig. Ohne die PHP-Datein zu öffnen.
      Finde ich schon einfacher also in der PHP-Datei mit den echos zu arbeiten...

      Gruß Leslie.

      1. Finde ich schon einfacher also in der PHP-Datei mit den echos zu arbeiten...

        Sicher?

        <?php
        while($row = mysql_fetch_assoc) {
        ?>
        <tr>
          <td><?php echo $row['entry'] ?></td>
        <tr>
        <?php
        }
        ?>

        ... ist für mich das Gleiche wie:

        {smartyschleife for=bla from=$wasauchimmer item=entry}
        <tr>
          <td>{$entry}</td>
        <tr>
        {/smartyschleife}

        Nicht zu vergessen, dass man die Smarty-Schleife noch mit den entsprechenden Daten füttern muss, was IMHO bei PHP wegfällt. Außerdem gibt es für PHP noch Heredoc.

        1. Moin!

          Finde ich schon einfacher also in der PHP-Datei mit den echos zu arbeiten...

          Sicher?

          Ja, absolut.

            
          
          > <?php  
          > while($row = mysql_fetch_assoc) {  
          > ?>  
          > <tr>  
          >   <td><?php echo $row['entry'] ?></td>  
          > <tr>  
          > <?php  
          > }  
          > ?>  
          
          

          Das mischt Datenbankabfrage und HTML-Ausgabe im PHP-Code. Funktioniert, klar. Hat aber den entschiedenen Nachteil, dass man sowohl die Struktur des HTML-Codes aus den Augen verliert, wenn es komplizierter wird, als auch die Struktur des PHP-Codes.

          Mit einer Template-Engine kann man sich im PHP-Code auf die Datenabfrage konzentrieren (die man dann einfach in die Engine kippt, und fertig), während man sich im Template darauf konzentrieren kann, wie die (irgendwie, aber wie genau, ist jetzt nicht weiter wichtig) aus der Datenbank abgefragten Daten dargestellt werden sollen.

          ... ist für mich das Gleiche wie:

          {smartyschleife for=bla from=$wasauchimmer item=entry}
          <tr>
            <td>{$entry}</td>
          <tr>
          {/smartyschleife}

          Der Unterschied ist: Mit einer Templateengine trennst du HTML und PHP. Und erleichterst dir damit das Programmieren, weil die Trennung von HTML und PHP auch eine Trennung der Zuständigkeiten ist, und durch die Template-Engine dazu führt, dass es ein eindeutig definiertes Interface gibt, welches die Aufgabe hat, zwischen Datenverarbeitung (PHP) und Datendarstellung (Templateengine) zu vermitteln.

          Es ist guter Programmierstil, Teilaufgaben eines Gesamtsystems so zu kapseln, dass diese komplett unabhängig sind vom Rest. Das dämmt Abhängigkeiten ein, erleichtert den Überblick und die Fehlersuche.

          Nicht zu vergessen, dass man die Smarty-Schleife noch mit den entsprechenden Daten füttern muss, was IMHO bei PHP wegfällt.

          Ich bin sicher, man kann Smarty einfach das DB-Handle mit dem Ergebnis übergeben, und Smarty wird sich einfach alle Datensätze aus der Datenbank ziehen und darstellen. Ein zwischengeschobenes Array o.ä. ist nicht notwendig.

          Außerdem gibt es für PHP noch Heredoc.

          Die Heredoc-Syntax ist so ziemlich das schreckliste, was man sich antun kann.

          - Sven Rautenberg

          --
          "Love your nation - respect the others."
          1. <?php
            while($row = mysql_fetch_assoc) {
            ?>
            <tr>
              <td><?php echo $row['entry'] ?></td>
            <tr>
            <?php
            }
            ?>

            
            >   
            > Das mischt Datenbankabfrage und HTML-Ausgabe im PHP-Code. Funktioniert, klar. Hat aber den entschiedenen Nachteil, dass man sowohl die Struktur des HTML-Codes aus den Augen verliert, wenn es komplizierter wird, als auch die Struktur des PHP-Codes.  
              
            Zugegeben ist es ein schlechtes Beispiel. Die DB-Abfrage selbst würde ich in einer seperaten Logik-Datei packen und die while-Schleife bekäme ihre Daten dort heraus. Die Struktur geht bei PHP-Code genauso schnell verloren wie bei Smarty-Code. Zumindest habe ich diese Erfahrung bei größeren Projekten gemacht. Die Ausgabe bzw. der Code ist der Gleiche nur die Verpackung ist anders.  
              
            
            > Der Unterschied ist: Mit einer Templateengine trennst du HTML und PHP. Und erleichterst dir damit das Programmieren, weil die Trennung von HTML und PHP auch eine Trennung der Zuständigkeiten ist, und durch die Template-Engine dazu führt, dass es ein eindeutig definiertes Interface gibt, welches die Aufgabe hat, zwischen Datenverarbeitung (PHP) und Datendarstellung (Templateengine) zu vermitteln.  
              
            Und das ist, was die meisten missverstehen. Es geht IMHO nicht um die Trennung der einzelnen Sprachen sondern um die Trennung von Design, Inhalt und Logik. Und wenn man das geschickt anstellt, beispielsweise über eine Logik-Datei für Abfragen und Ähnliches, gepaart mit dem Design; reines HTML, in das Logik und Inhalt eingebunden wird, kann man sich den Umweg über Template-Engines sparen.  
              
            
            > Es ist guter Programmierstil, Teilaufgaben eines Gesamtsystems so zu kapseln, dass diese komplett unabhängig sind vom Rest. Das dämmt Abhängigkeiten ein, erleichtert den Überblick und die Fehlersuche.  
              
            Habe nie was anderes behauptet - da stimme ich dir voll und ganz zu ;-)  
              
            
            > Ich bin sicher, man kann Smarty einfach das DB-Handle mit dem Ergebnis übergeben, und Smarty wird sich einfach alle Datensätze aus der Datenbank ziehen und darstellen. Ein zwischengeschobenes Array o.ä. ist nicht notwendig.  
              
            Doch. IMHO muss man Smarty ein Array übergeben, das dann in einer Schleife ausgegeben wird. Aber genau kann ich mich daran nicht mehr erinnern. Auf alle Fälle war es für meine Ansprüche absurd umständlich.  
              
            
            > Die Heredoc-Syntax ist so ziemlich das schreckliste, was man sich antun kann.  
              
            Nicht unbedingt. Wenn man es richtig macht, kommt eine Syntax, ähnlich der von Smarty, heraus.
            
            -- 
            Gruß, Daniel | In der Realität ist die Wirklichkeit ganz anders.
            
            1. Hallo,

              Doch. IMHO muss man Smarty ein Array übergeben, das dann in einer
              Schleife ausgegeben wird. Aber genau kann ich mich daran nicht mehr
              erinnern. Auf alle Fälle war es für meine Ansprüche absurd umständlich.

              Aber das musst Du in PHP dann doch auch. Ob du das Resultset nun deiner
              PHP-For-Schleife übergibst oder Smarty - das macht kein Unterschied.

              Zum anderen kann man in größeren Projekten sicherstellen (Zugriffsrechte),
              dass die Designer auch bloß das Design editieren können und nicht
              zufällig etwas an relevantem Code ändern ("Ups, ich hab doch gar
              nichts gemacht").

              Ferner kann man sich mit Templates eine schöne GUI-Blibliothek aufbauen,
              die ähnlich hantiert wie ASP: Man baut sich ein Klassenkonstrukt
              für jedes HTML-Element und befüllt diese mit den Daten und bestimmt
              deren Verhaltensweisen (Eingabeüberprüfungen, Verhalten im Fehlerfall,
              Pflichtfeld, etc.., clientseitigen Überprüfungen,
              welche über separate Smrty-Funktionen realisiert werden. Dafür
              bietet Smarty auch extra eine Schnittstelle an.

              Es gibt wirklich haufenweise Vorteile von Template-Engines.

              Die Heredoc-Syntax ist so ziemlich das schreckliste, was man sich antun kann.

              Richtig.

              Pedde

              1. Zum anderen kann man in größeren Projekten sicherstellen (Zugriffsrechte),
                dass die Designer auch bloß das Design editieren können und nicht
                zufällig etwas an relevantem Code ändern ("Ups, ich hab doch gar
                nichts gemacht").

                Kann nicht passieren, da ich keine Logik in meinen Templates habe sondern diese in spereraten PHP-Dateien verwalte. Im den Template-Dateien greife ich nur auf die Funktionen und Eigenschaften der Logik-Datei zurück. So kann auch ein Designer nichts kaputt machen - bis auf das Template natürlich...

            2. Moin!

              <?php
              while($row = mysql_fetch_assoc) {
              ?>
              <tr>
                <td><?php echo $row['entry'] ?></td>
              <tr>
              <?php
              }
              ?>

              
              > >   
              > > Das mischt Datenbankabfrage und HTML-Ausgabe im PHP-Code. Funktioniert, klar. Hat aber den entschiedenen Nachteil, dass man sowohl die Struktur des HTML-Codes aus den Augen verliert, wenn es komplizierter wird, als auch die Struktur des PHP-Codes.  
              >   
              > Zugegeben ist es ein schlechtes Beispiel. Die DB-Abfrage selbst würde ich in einer seperaten Logik-Datei packen und die while-Schleife bekäme ihre Daten dort heraus.  
                
              Wenn du es "vernünftig" machen wolltest (und bei größeren Projekten ist das nun mal der Fall), würdest du OOP anwenden (damit kriegst du schon direkt schönen Kontakt zu den Template-Engines, die auch alle OOP sind), und die Businesslogik-Klasse würde von der Datenbankklasse ein Abfrageergebnisobjekt bekommen, welches an die Ausgabelogik-Klasse weitergereicht wird, welche entscheidet, dass aktuell gerade HTML-Ausgabe gewünscht ist (im Gegensatz zu XML, RSS oder Atom, welches auch ginge, wenn eine andere Factory genutzt würde), und daraufhin die entsprechende Template-Engine mit den HTML-Templates befüllt.  
                
              Irgendwo in diesen Konstruktionen ist mit Sicherheit auch eine While-Schleife enthalten, die dafür da ist, solange die Datenbank abzufragen, bis keine Ergebnisse mehr da sind. Aber diese Schleife hat mindestens mal in der Businesslogik nichts verloren.  
                
              
              > Die Struktur geht bei PHP-Code genauso schnell verloren wie bei Smarty-Code. Zumindest habe ich diese Erfahrung bei größeren Projekten gemacht. Die Ausgabe bzw. der Code ist der Gleiche nur die Verpackung ist anders.  
                
              Ich habe ja auch nicht Smarty empfohlen, sonder vlibTemplate. Smarty scheinr mir tatsächlich die Reimplementation von PHP mit anderen Mitteln (PHP ist ja selbst mal als Template-Engine gestartet und wurde dann immer mehr aufgerüstet).  
                
              
              > > Der Unterschied ist: Mit einer Templateengine trennst du HTML und PHP. Und erleichterst dir damit das Programmieren, weil die Trennung von HTML und PHP auch eine Trennung der Zuständigkeiten ist, und durch die Template-Engine dazu führt, dass es ein eindeutig definiertes Interface gibt, welches die Aufgabe hat, zwischen Datenverarbeitung (PHP) und Datendarstellung (Templateengine) zu vermitteln.  
              >   
              > Und das ist, was die meisten missverstehen. Es geht IMHO nicht um die Trennung der einzelnen Sprachen sondern um die Trennung von Design, Inhalt und Logik. Und wenn man das geschickt anstellt, beispielsweise über eine Logik-Datei für Abfragen und Ähnliches, gepaart mit dem Design; reines HTML, in das Logik und Inhalt eingebunden wird, kann man sich den Umweg über Template-Engines sparen.  
                
              Oder du missverstehst das Prinzip. Es geht um Trennung und Kapselung, und damit um Eindämmung und Beschränkung.  
                
              Design, Inhalt und Logik zu trennen ist die eine Sache. Sprachen zu Trennen ist dieselbe Sache.  
                
              Natürlich kannst du eine "Template-Datei" schreiben, die anstelle der diversen Engine-Befehle eben aus HTML plus ausgebendem PHP besteht, und die an der passenden Stelle includen.  
                
              Aber wie groß ist die Sicherheit, dass du in solchen Dateien wirklich nur ausgebendes PHP schreibst. Wieviel einfacher wären doch Dinge, die man, weil man es mit PHP kann, dann eben doch in diese "Templates" reinschreibt.  
                
              Mit einer Template-Engine besteht zunächst einfach nur eine extreme Beschränkung auf sehr simple Dinge: Variablen an bestimmten Stellen ausgeben, dabei eventuell Output-Filter anwenden zur Maskierung, und eventuell noch konditionale Konstrukte. Mehr benötigt man im Grundsatz für eine Ausgabe nicht.  
                
              Aber im PHP-Template direkt auf mysql-Funktionen zuzugreifen hielte ich für extrem böse und hinderlich. Man stelle sich nur mal vor, dass irgendwann auf mysqli umgeschwenkt werden muß.  
                
              
              > > Ich bin sicher, man kann Smarty einfach das DB-Handle mit dem Ergebnis übergeben, und Smarty wird sich einfach alle Datensätze aus der Datenbank ziehen und darstellen. Ein zwischengeschobenes Array o.ä. ist nicht notwendig.  
              >   
              > Doch. IMHO muss man Smarty ein Array übergeben, das dann in einer Schleife ausgegeben wird. Aber genau kann ich mich daran nicht mehr erinnern. Auf alle Fälle war es für meine Ansprüche absurd umständlich.  
                
              vlib kann das jedenfalls, auch wenn ich es noch nie genutzt habe, weil ich es unnötig fand. Meine Klassen geben komplette Arrays zurück, keine DB-Handles. Und die Arrays sind direkt passend gestrickt, um vlibTemplate befüllen zu können.  
                
              
              > > Die Heredoc-Syntax ist so ziemlich das schreckliste, was man sich antun kann.  
              >   
              > Nicht unbedingt. Wenn man es richtig macht, kommt eine Syntax, ähnlich der von Smarty, heraus.  
                
              Also benutzt du doch Template-Engines. ;->  
                
               - Sven Rautenberg
              
              -- 
              "Love your nation - respect the others."
              
              1. Wenn du es "vernünftig" machen wolltest (und bei größeren Projekten ist das nun mal der Fall), würdest du OOP anwenden (...)

                Mach ich schon ;-)

                Ich habe ja auch nicht Smarty empfohlen, sonder vlibTemplate. Smarty scheinr mir tatsächlich die Reimplementation von PHP mit anderen Mitteln (PHP ist ja selbst mal als Template-Engine gestartet und wurde dann immer mehr aufgerüstet).

                vlubTmeplate kenne ich nicht. Schau's mir mal an. Meine gesamte "Rumstänkerei" auf Template-Engines bezog sich eigentlich nur auf Smarty bzw. teilweise Template-Engines allgemein.

                Design, Inhalt und Logik zu trennen ist die eine Sache. Sprachen zu Trennen ist dieselbe Sache.

                Finde ich nicht. Angenommen du programmierst ein C++-Programm ohne visuellen Designer. Dann fängst du auch nicht an eine andere Sprache zu verwenden, nur weil du gereade dabei bist ein paar Steuerelemente auf dem Formular zu verteilen, sondern packst den Code in neue Dateien, die sich nur um das Aussehen kümmern. Selbst mit visuellen Designer speichert dieser die Daten wahrscheinlich in eine eigene Datei ab. Naja, der Vergleich hinkt etwas, soll aber verdeutlichen was ich eigentlich meine.

                Aber wie groß ist die Sicherheit, dass du in solchen Dateien wirklich nur ausgebendes PHP schreibst. Wieviel einfacher wären doch Dinge, die man, weil man es mit PHP kann, dann eben doch in diese "Templates" reinschreibt.

                Disziplin und die negative Erfahrung, dass Logik im Template sofort zu Unübersichtlichkeit führt ;-)

                Aber im PHP-Template direkt auf mysql-Funktionen zuzugreifen hielte ich für extrem böse und hinderlich. Man stelle sich nur mal vor, dass irgendwann auf mysqli umgeschwenkt werden muß.

                Wie gesagt war es ein extrem schlechtes Beispiel. In meinen Projekten übergebe ich in der Regel nur ein Array mit den Ergebnissen und lese das in der Template-Datei aus. Das Beispiel sollte eigentlich nur zeigen, dass es IMHO keinen wirklichen Unterschied zwischen PHP und einer Template-Engine gibt. Letztendlich ist es nur eine andere Verpackung. Aber bei einem entsprechenden Programmierstil läuft es auf's Gleiche hinaus.

                Nicht unbedingt. Wenn man es richtig macht, kommt eine Syntax, ähnlich der von Smarty, heraus.

                Also benutzt du doch Template-Engines. ;->

                Ich meinte, dass es dann die gleiche Kürze haben kann wie Smarty-Code :-P

                --
                Gruß, Daniel | In der Realität ist die Wirklichkeit ganz anders.
        2. Ich grüsse den Cosmos,

          ... ist für mich das Gleiche wie:

          Content und Programmcode so zu vermischen ist wohl genau was Anfänger machen und später das Projekt komplett neu schreiben, weil sie merken, das es völliger Unfug ist.
          Und genau aus diesem Grund gibt es Templatesengines, damit man eben den Code und den Content sauber trennen kann. Wenn du das als schwachsinnig bezeichnest, hast du entweder noch nie was Programmiert, was mehr als zwei Dateien hat und/oder du bist Anfänger. Insgesammt ist deine Aussage aber völlig kontraproduktiv, wenn jemand PHP gleich richtig lernen will.

          Möge das "Self" mit euch sein

          --
          Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten
          1. Und genau aus diesem Grund gibt es Templatesengines, damit man eben den Code und den Content sauber trennen kann. Wenn du das als schwachsinnig bezeichnest, hast du entweder noch nie was Programmiert, was mehr als zwei Dateien hat und/oder du bist Anfänger. Insgesammt ist deine Aussage aber völlig kontraproduktiv, wenn jemand PHP gleich richtig lernen will.

            Ich bin weder Anfänger noch habe ich behauptet, die Trennung von Logik und Content sei schwachsinnig. Die Verwendung von Template-Engines ist in meinen Augen schwachsinnig. Vielleicht solltest du dir meine Beiträge etwa genauer durchlesen ;-)

            --
            Gruß, Daniel | In der Realität ist die Wirklichkeit ganz anders.
            1. Ich grüsse den Cosmos,

              Vielleicht solltest du dir meine Beiträge etwa genauer durchlesen ;-)

              Ich habe mich auf dein Beispiel bezoge, und das vermischt Content und Code. Wenn du so ein Beispiel bringst, musst du nunmal mit Gegenwind rechnen. Und wenn du, wie du sagst, kein ANfänger bist, ist dein Beispiel ein Armutszeugnis.

              Möge das "Self" mit euch sein

              --
              Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten
              1. Danke. Ich habe in mindestens 3 meine Beiträge das Beispiel schlecht ist und es nur das Prinzip verdeutlichen soll...

                --
                Gruß, Daniel | In der Realität ist die Wirklichkeit ganz anders.
    2. daniel, du hast völlig recht. ich verzichte auch auf dieses template-gedöns. denn letztlich macht das nichts anderes als html zu generieren. und zwar mit den daten, welche ich vorher in das template-gedöns eingestellt habe.

      dies ist keine trennung von logik und präsentation.
      eine wirkliche schichtentrennung hat eine html-datei in welcher sich (fast) nur html-tags befinden und eine php-datei mit den entsprechenden use-cases. so ist aus der html-datei die präsentation schnell zu erkennnen (auch für web-designer). in der php-datei befinden sich keinerlei html-tags, sondern nur die klassen der logik. damit kommt ein programmierer bestens klar.

      allerdings wäre dein progausschnitt damit verbesserungsfähig.

      statt:
      <?php
      while($row = mysql_fetch_assoc) {
      ?>
      <tr>
        <td><?php echo $row['entry'] ?></td>
      <tr>
      <?php
      }
      ?>

      sähe mein entsprechender teil in der html-datei so aus:
      <!-- foreach Objekte -->
      <?php foreach (gibObjektListe('was?') as $Objekt) : ?>
       <tr>
        <td><?php zeigeWert(&$Objekt); ?></td>
       </tr>
      <?php endforeach; ?>
      <!-- endforeach Objekte -->

      die php-datei enthält die klassen der logik als auch die funktionen gibObjektListe und zeigeWert:
      <?php
      gibObjektListe($was) {
          global $Bean;
          return $Bean->gibObjektListe(&$was);
      }
      zeigeWert($Objekt) {
          //Objektprüfung weggelassen
          $Objekt->zeigeWert();
      }
      $Bean = &new LogikBean('Anwendung');
      ?>
      in der klasse Bean befinden sich die Use-Cases.

  2. Moin!

    Kann mir das hier ein erfahrener Benutzer bestätigen? Oder was würdet ihr mir empfehlen? Auch noch andere Klassen?

    Ich bin ein Freund von vlibTemplate. Die Klasse ist recht simpel, aber dennoch nicht zu simpel, sondern in den entscheidenden Teilen doch recht mächtig, und außerdem für PHP-verständige Programmierer auch einfach erweiterbar, z.B. für Ausgabefunktionen.

    Du machst damit sicherlich nichts falsch.

    Und eventuell ein gutes (deutsches oder auch englisches) Tutorial dazu?

    Das von vlib ist hier: http://lamp.clausvb.de/vlib_mhtml/table_of_content.html
    Doku: http://vlib.clausvb.de/docs/multihtml/vlibtemplate/table_of_content.html
    Forum: http://vlib.clausvb.de/forum/

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
  3. Ich grüsse den Cosmos,

    Kann mir das hier ein erfahrener Benutzer bestätigen? Oder was würdet ihr mir empfehlen? Auch noch andere Klassen?

    Ich arbeite aktuell mit Smarty, werde aber meine Projekte umstellen, da auch für komplexere Projekte viel zu überladen.
    Es mag Fälle geben, bei denen Smarty optimal ist, das dürften aber eher aAusnahmen sein.

    Möge das "Self" mit euch sein

    --
    Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten
  4. Hallo,

    ich möchte mein kleines Gästebuch (wird ziemlich simple, aber effektiv) mit Templates "designen". Nach einigem einlesen in die Template-Geschichte bin ich jetzt auf zwei Template-Klassen gestoßen.
    Der "große Standard" Smarty, und vlibTemplate. Letzteres soll wohl vor allem für kleine Aufgaben recht gut sein. Das Smarty sei für viele kleiner Aufgaben überladen (viele Verzeichnisse, Datein usw.).

    Kann mir das hier ein erfahrener Benutzer bestätigen? Oder was würdet ihr mir empfehlen? Auch noch andere Klassen?
    Und eventuell ein gutes (deutsches oder auch englisches) Tutorial dazu?

    ich benutze seit 2 Jahren Smarty und möchte diese Template Engine nicht mehr missen :-)

    mfg
    Twilo

    1. Hallo Forum,

      ich benutze seit 2 Jahren Smarty und möchte diese Template Engine nicht mehr missen :-)

      Ich seit zwei Wochen, aber sonst gehts mir genauso *g*

      Gruß
      Alexander Brock

  5. Wow, jetzt habe ich hier ja was ausgelöst. Ich hoffe, ihr vertragt euch noch :-).
    Ist ja eine schöne konstruktive Diskussion, deren Tiefgang für einen Anfänger wie mich natürlich nur schwer zu erreichen ist.

    Ich habe jetzt erste Erfolge mit vlibTemplate gehabt und bin eigentlich ziemlich begeistert. Werde damit weiter machen.

    Danke euch für die Antworten.

    Gruß Leslie