Template Engine

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Template Engine

    Hi,

    welche Template Engine verwendet ihr?
    Ich bin auf der Suche nach einer, die Variablen die zuvor in meinem PHP Script deklariert wurden automatisch im Template zur Verfügung stellt und die ich nicht zuvor umständlich übergeben muss (wie zum Beispiel in Smarty mit $smarty->assign("name", $var)...

  • #2
    Templateengines: Warum diese nicht glücklich machen
    Wir werden alle sterben

    Kommentar


    • #3
      Re: Template Engine

      Original geschrieben von BoFiaZ

      Ich bin auf der Suche nach einer, die Variablen die zuvor in meinem PHP Script deklariert wurden automatisch im Template zur Verfügung stellt und die ich nicht zuvor umständlich übergeben muss
      Wieso?

      Ansonsten stimme ich dem von Combie verlinkten Artikel zu.

      Grüße
      Nieder mit der Camel Case-Konvention

      Kommentar


      • #4
        Also ich muss mich da auch anschliessen.
        Nachdem ich ein knappes Jahr mit smarty gearbeitet habe, sehe ich keine großen Vorteile für meine Projekte. Eigentlich mußte ich einfach nur noch ne Syntax lernen.

        Den MVC Pattern finde ich ganz schick. Gerade in Kombination mit mod_rewrite.

        Kommentar


        • #5
          Re: Template Engine

          Original geschrieben von BoFiaZ
          welche Template Engine verwendet ihr?
          Keine (mehr).

          Witzig - ich bis auf den Teil mit den PNG's wohl so ziemlich das gleiche durchgemacht wie im von combie verlinkten Artikel beschrieben. PHP/Html scheint das wohl so mit sich zu bringen, dass der unerfahrene diesen Weg mal geht.
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            Der Kern der Sache ist im Artikel leider nicht ganz getroffen 'Warum diese nicht glücklich machen' (combie)

            MVC-Frameworks sind zu allererst komplexe Werkzeuge zur agilen Softwareentwicklung,
            außerdem enthalten diese selber in der View-Komponente eine mehr oder weniger hochgezüchtete Template Engine!
            Dieser Hype auf MVC ist inzwischen etwas verflogen und Ernüchterung ist eingetreten obwohl immer noch aktuell.

            Nimm, wenn du nur ein Templatesystem brauchst eine einfache Engine wie KTemplate (http://kuerbis.org/),
            diese enthält alle notwendigen Dinge als Klasse für einfache bis umfangreiche PHP-Entwicklungen.

            Kommentar


            • #7
              Ich hab mich mangels Zeit noch recht wenig mit Template-Engines auseinandergesetzt. Während die in dem verlinkten Artikel erwähnten Argumente sicher zutreffen - ich kenne die dort beschriebenen Probleme gut - vermisse ich einen Aspekt völlig: Caching. Das ist der einzige triftige Grund, warum Smarty & Co zum Angucken auf meiner Liste stehen. Also die Möglichkeit, rechenintensiv produzierte Ergebnisse zu cachen und an Ereignisse (=Datenbankoperationen) zu binden, die auf irgendeine Art und Weise ein Update anstoßen.
              Wie macht ihr das? Bringen die MVC-Frameworks dafür Lösungen mit?

              Kommentar


              • #8
                Für mich stellt sich da die Frage, wie gestalte man ein effektives caching mit dynamischen Inhalten denn generell?
                Zuletzt geändert von derHesse; 05.10.2008, 22:32.

                Kommentar


                • #9
                  Caching von dynamischen Seiten ist eine ... ähm ... Illusion, man täuscht sich selbst. Lass die Finger von den Drecktemplate, dann hat man nichts zu bereuen.

                  Kommentar


                  • #10
                    Original geschrieben von Pturbo
                    MVC-Frameworks sind zu allererst komplexe Werkzeuge zur agilen Softwareentwicklung,
                    außerdem enthalten diese selber in der View-Komponente eine mehr oder weniger hochgezüchtete Template Engine!
                    Dieser Hype auf MVC ist inzwischen etwas verflogen und Ernüchterung ist eingetreten obwohl immer noch aktuell.
                    Was'n Käse. Jede mir bekannte MVC-Implementierung in PHP hat keinerlei Template-Engine - abgesehen von der im Link beschriebenen Vorgehensweise. Und welcher irrsinnige Rausch ist deiner Meinung nach der Ernüchterung vorrangegangen? Abgesehen von der Tatsache, dass das MVC-Pattern alles andere als neu ist. Ich hab diese Architekturform schon erfolgreich in meinen ersten Webprojekten eingesetzt ... und die sind nun auch schon ein paar Jährchen alt.
                    [FONT="Helvetica"]twitter.com/unset[/FONT]

                    Shitstorm Podcast – Wöchentliches Auskotzen

                    Kommentar


                    • #11
                      Mhh, ich verwende eine einfache eigene kleine Templateklasse, die lediglich entsprechende Inhalte aus der Datenbank oder einer Textdatei lädt und diese einer Variablen zuweist. Mittels eval() wird bewerkstelligt, dass innerhalb des Templates Variablen mit deren Inhalt ausgegeben werden, ohne dass diese zuvor definiert werden müssen.

                      Defakto entspricht das Ergebnis dem Verwenden der Funktion include(). Da die Daten direkt Variablen zugewiesen werden, kann jedoch m.E. einfacher einer Variable innerhalb eines Templates der Inhalt eines weiteren Templates zugewiesen werden.

                      Eine erweiterte Fassung bietet zudem die Möglichkeit, den CSS-Part dynamisch in Abhängigkeit von diversen Usereingaben zu generieren.
                      [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
                      [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

                      Kommentar


                      • #12
                        Original geschrieben von asp2php
                        Caching von dynamischen Seiten ist eine ... ähm ... Illusion, man täuscht sich selbst. Lass die Finger von den Drecktemplate, dann hat man nichts zu bereuen.
                        Mmm, sag das nicht. Auch auf dynamischen Seiten gibt es oft genug Inhalte, die 1. gecacht werden können und deren Updatebedarf 2. sehr genau bestimmt werden kann. Und nicht bei jedem Aufruf den PHP-Overhead haben zu müssen, kann immens Serverbelastung sparen.

                        Andererseits kann man natürlich, wenn man so intensive Anwendungen hat, daß man das braucht, seine Sachen auch gleich kompilieren.

                        Kommentar


                        • #13
                          Original geschrieben von Crake
                          Mhh, ich verwende eine einfache eigene kleine Templateklasse ...
                          Kennt also außer dir niemand.
                          ... die lediglich entsprechende Inhalte aus der Datenbank oder einer Textdatei lädt und diese einer Variablen zuweist.
                          Das ist nicht Aufgabe einer Template-Engine.
                          Mittels eval() wird bewerkstelligt, dass innerhalb des Templates Variablen mit deren Inhalt ausgegeben werden, ohne dass diese zuvor definiert werden müssen.
                          Aua! Sowas sollte verboten werden.
                          Schau dir mal http://api.drupal.org/api/function/t...der_template/7 an!

                          Kommentar


                          • #14
                            Ob eval() oder include, beide sind nicht böse!
                            Es ist immer nur der Code.....
                            Oder ist ein Spaten böse, nur weil irgendein Trottel irgendeinen anderen Trottel irgendwann mal mit einem Spaten erschlagen hat?

                            Hier mal eine mini Templateengine welche das (gemeingefährliche) eval() versteckt im Bauch hat:
                            PHP-Code:
                            <?php
                            error_reporting
                            (E_ALL);
                            ini_set('display_errors'TRUE); // evtl. hilfreich


                            function template_cb(&$item$key$string)
                            {
                              
                            $pattern  '/{([^}]*)}/ie';
                              
                            $eval     'isset($item["$1"])?$item["$1"]:"$0"';
                              
                            $item     preg_replace($pattern,$eval,$string);
                            }

                            $string  "Ein {Tier} sprang über {Hindernis}.";
                            $daten   = array();
                            $daten[] = array('Tier' => 'Hund',    'Hindernis' => 'den Graben');
                            $daten[] = array('Tier' => 'Pferd',   'Hindernis' => 'das Gatter');
                            $daten[] = array('Tier' => 'Frosch',  'Hindernis' => 'den Bleistift');

                            array_walk($daten,'template_cb',$string);

                            echo 
                            implode('<br>'$daten) ;
                            ?>
                            Wer irgendwie Userdaten dadurch schleust, ist selber Schuld.
                            Zuletzt geändert von combie; 06.10.2008, 11:07.
                            Wir werden alle sterben

                            Kommentar


                            • #15
                              also wenn schon irgendein "template"-system, dann kommt für mich nur xsl in frage.

                              peter
                              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                              Meine Seite

                              Kommentar

                              Lädt...
                              X