Patrick Figel: Templateengine

Hallo,

unter Python verwende ich die Templateengine von Django bzw. seit kurzem Jinja.

Unter PHP hab ich bisher eine Eigenentwicklung verwendet, die eigentlich nur als Templatevariablenspeicher gedient hat, und auch auf Template-Seite nur mit PHP funktioniert hat.
Allerdings möchte ich nicht mehr auf den Komfort der Blöcke verzichten, mit denen man einfach ein Gerüst der Seite erstellt - mit den jeweiligen Blöcken (z.B. Navigation, Footer, Content) - und dieses Gerüst einfach erweitert und mit dem jeweiligen Inhalt des Template füttert.
Die Filter sind auch ein nettes Feature, das automatische Escaping brauch ich glaub ich nicht extra angeben.

Bei Smarty hab ich bisher keinen Support für diese Blöcke gefunden, HTML_Template_IT hat sowas zwar, allerdings muss man hier scheinbar auch im PHP-Code auf diese Blöcke eingehen und die Templatevariablen erneut zuweisen.

Kennt jemand ein System, dass meinen Anforderungen entspricht?

  1. Hellihello,

    mag sein, dass ich dich falsch verstehe. Aber ich suchte auch mal etwas für den Umgang mit Templates und bin dann wieder bei PHPs alternativer Syntax hängen geblieben.
    http://forum.de.selfhtml.org/archiv/2008/2/t166564/#m1086766
    http://de.php.net/control-structures.alternative-syntax
    http://www.codeassembly.com/Why-template-systems-like-smarty-are-useless-and-sometimes-bad/

    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
  2. Hi!

    Kennt jemand ein System, dass meinen Anforderungen entspricht?

    Ja: die beste Template-Engine, die ich kenne wurde von: Rasmus Lerdorf entwickelt und heißt PHP.

    Warum wollen alle in mit einer Template-Engine, eine Template-Engine schreiben?

    Dass man inzwischen mit PHP mehr machen kann sei ja unbestritten, seine Fähigkeiten als Template-Engine sind doch aber damit nicht zunichte gemacht.

    Das sehr MVC-lastige Zend-Famework besinnt sich zumindest wieder auf diese - und bei Zend kennt man sich ein wenig aus mit PHP.

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Danke für den Hinweis.
      Meine selbst entworfene Template-Klasse funktioniert wie gesagt auch nur mit PHP.
      Es ist auch gar keine Voraussetzung für mich, dass die Engine eine eigene Templatesprache enthält, ich bin mit PHP selbst auch zufrieden, solange es Filter und Blöcke ähnlich wie in Jinja gibt.
      Ich bin aber gerne bereit, den Overhead der bei einer anderen Templatesprache entsteht in Kauf zu nehmen, wenn ich dafür so ein System bekomm.

      Bezogen auf frankx Hinweis zur alternativen Kontrollstrukturensyntax von PHP: Die ist mir bekannt und auch in meinen Templates in Verwendung.

      1. Hi!

        Bezogen auf frankx Hinweis zur alternativen Kontrollstrukturensyntax von PHP: Die ist mir bekannt und auch in meinen Templates in Verwendung.

        Jetzt mal ganz blöd gefragt? Warum erweiterst Du dann nicht einfach _Deine_ Templates um die von dir gewüschte Funktionalität?

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
        1. Wenn du ein neues Fahrrad haben willst, baust du es dir selbst?
          Nachdem es solche Template-Systeme wie Sand am Meer gibt, dachte ich, irgendjemand hat sowas mit Sicherheit schon entwickelt, also warum das Rad nochmal erfinden?

          1. Hi!

            Wenn du ein neues Fahrrad haben willst, baust du es dir selbst?

            Wenn das 'fertige Fahrrad' sehr viele, von mir nicht benötigte Features wie z.B: vier Aussenspiegel mitbringt und außerdem ein mehr als einwöchiges Einlesen in die Betriebsanleitung erfordert und mein vorhandenes Wissen zum Bau eines Fahrrades, mit dem ich dann optimal fahren könnte ausreichte:
            Ja! Dann baue ich es selbst!

            Nachdem es solche Template-Systeme wie Sand am Meer gibt, dachte ich, irgendjemand hat sowas mit Sicherheit schon entwickelt, also warum das Rad nochmal erfinden?

            Ja das haben bestimmt schon viele! Meine Frage war diese: geht es mit Deinen Kenntnissen in PHP vielleicht auch?

            off:PP

            --
            "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
            1. So wie es aussieht, wird mir ja nichts anderes übrig bleiben, als das Fahrrad zu bauen. ;)
              Ich war halt der Meinung, dass die Anforderungen nicht allzu exotisch waren und ich ein bestehendes System verwenden kann, ich hab aber kein Problem damit, sowas selbst zu machen, wenn's sein muss.

              1. Hi!

                So wie es aussieht, wird mir ja nichts anderes übrig bleiben, als das Fahrrad zu bauen. ;)

                Dann mach das! Das Werkzeug kennst Du und wenn es hakt: komm wieder vorbei!

                off:PP

                --
                "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)