Template System, oder nicht?

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

  • Template System, oder nicht?

    Hallo Leute,

    Nun, was haltet ihr eigentlich von Templates, findet ihr es besser mit templates zu arbeiten?

    Oder fügt ihr die php-codes einfach mittels <?php ?> in die html datei ein?

    was ist im großen und ganen besser(pro und kontras)?


    DAnke im voraus

    mfg tom

  • #2
    Meiner Meinung nach sind Templates unerlässlich - Template-Engines hingegen nicht. Denn diese Engines machen im Grunde genommen nichts anderes, als eine alternative Syntax zu der von PHP zu schaffen und diesen Effekt intern wieder umzukehren (z.B. durch Kompilierung). Dieser Prozess frisst Ressourcen und senkt damit (deutlich) die Performance deiner Skripte.

    Ich arbeite in Templates mit der alternativen PHP-Syntax, weil sie für PHP-Fremde ein bißchen leichter zu lesen ist; allerdings sollte man versuchen, mit einem Minimum an PHP-Code auszukommen, um die Templates nicht unübersichtlicher zu machen als nötig. Dazu können so genannte Helper-Funktionen ganz hilfreich sein (wer hätte das gedacht? ). Dadurch kann man oft wiederkehrende Code-Fragmente (input-Elemente, Links usw.) in PHP-Funktionen auslagern und aufrufen, um nochmals mehr Übersicht zu gewähren und Zeit und Platz zu sparen.

    Um zu dieser Einsicht zu kommen, hat es bei mir aber auch seine Zeit gedauert. Ich habe mich auch an Template-Engines versucht, alleine schon, weil ich das Prinzip, das solchen Engines zugrunde liegt, sehr interessant finde.

    Mindestens einen Nachteil hat das Ganze jedoch: PHP-Fremde zu gestatten, mit PHP an Templates zu arbeiten, birgt ein gewisses Risiko.

    Ich hoffe ich konnte dir helfen.
    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      Templates ja, PHP-Alternative-Syntax nein.

      Wer irgendwelchen Leuten erlaubt beliebigen PHP-Code auszuführen und ins Programm - außerhalb der Programmlogik - einzugreifen, ist selber Schuld. Der Prozess des Kompilierens ist übrigens zumeist eine einmalige Sache und muss nur bei Änderungen erneut durchgeführt werden.
      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
      var_dump(), print_r(), debug_backtrace und echo.
      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

      Kommentar


      • #4
        Original geschrieben von Shurakai
        Templates ja, PHP-Alternative-Syntax nein.

        Wer irgendwelchen Leuten erlaubt beliebigen PHP-Code auszuführen und ins Programm - außerhalb der Programmlogik - einzugreifen, ist selber Schuld. Der Prozess des Kompilierens ist übrigens zumeist eine einmalige Sache und muss nur bei Änderungen erneut durchgeführt werden.
        Benchmarks bekannter und etablierter Template-Engines scheinen aber eine andere Sprache zu sprechen. Korrigiert mich, sollte ich mich täuschen.

        Natürlich ist es suboptimal, PHP-Fremden zu erlauben, mit PHP-Code zu hantieren, allerdings sollte es da auch eine Absprache oder Festlegung auf gewisse Richtlinien geben. Schließlich sollte es beim PHP-Code in den Templates lediglich um die Ausgabe von Variablen bspw. via echo und die Benutzung von Schleifen für Datenmengen gehen. Aber bevor noch eine Grundsatzdiskussion zum Thema Template-Engines entfacht: Bei dem Thema wird es immer geteilte Meinungen geben.
        Nieder mit der Camel Case-Konvention

        Kommentar


        • #5
          Original geschrieben von Griecherus
          Benchmarks bekannter und etablierter Template-Engines scheinen aber eine andere Sprache zu sprechen. Korrigiert mich, sollte ich mich täuschen.
          du meinst bestimmt smarty, das template-monster, dabei gebe ich dir recht.
          aber jede selbst noch so schlanke template-engine (basierend string- bzw. regex-ersetzung) ist langsamer als die native php-template-engine.

          ich denke, der vergleich der programmierparadigmen oop vs. prozedural kann als gegenbeispiel dienen. oop hat schlechtere benchmarks als prozedurale programmierung, komisch nur, dass sie sich durchgesetzt hat.

          Original geschrieben von Griecherus
          Natürlich ist es suboptimal, PHP-Fremden zu erlauben, mit PHP-Code zu hantieren, allerdings sollte es da auch eine Absprache oder Festlegung auf gewisse Richtlinien geben.
          "sollte" ist konjunktiv, oder?

          Original geschrieben von Griecherus Aber bevor noch eine Grundsatzdiskussion zum Thema Template-Engines entfacht: Bei dem Thema wird es immer geteilte Meinungen geben.
          ja, ich freue mich auch schon auf die "er hat judea gesagt"-schreier (wahsaga, ghostgambler, benny-one ...)

          Kommentar

          Lädt...
          X