Template System

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

  • Template System

    Hallo Kollegen,


    ich mache mir gerade ein paar Gedanken um Templates.
    Ich frage mich, welche Methode denn besser, welche schneller und welche am einfachsten ist.

    1) Template Klasse wie FastTemplate bzw. aus der phplib

    2) Das System wie es u.a. hier im vBulletin Board benutzt wird.
    Mit eval() werden die Templates praktisch ausgeführt, sodass Variablen direkt erstetzt werden.
    Dort wird z.B. folgendes benutzt:

    eval ("\$var = \"".gettemplate("var")."\";");
    eval("dooutput(\"".gettemplate("index")."\");");

    Ist ja echt praktisch. Vor allem weil man ganz einfach mit hantieren kann.

    Ich müsste einfach eine Seite aus verschiedenen Templates zusammensetzen können (Header, Footer, usw.) und bei Datensätze, die ich auslese und nacheinandere ausgebe (wie in einem Forum) die Möglichkeit eine Template für die Reihe zu definieren, die immer wieder geparst wird.

    Mit dieser eval() Methode geht das ja echt einfach.


    Aber ist das auch zu empfehlen ? Wie stehts mit der Geschwindigkeit ? Und wie kann ich sowas mit einer Template Klasse machen ?
    Ich kenne mich mit keiner Template Klasse aus
    Kann mir da jemand mal ein Beispiel machen für z.b. eine Seite, die aus einem Header, Footer und ein paar Reihen (eine Template) besteht ? Wäre echt nett.
    Zuletzt geändert von Troublegum; 27.04.2004, 20:07.
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

  • #2
    hallo Andrê-Nam!

    die eval methode ist schnell und hat sehr viele vorteile

    template klassen wie aus phplib würd ich nicht empfehlen, sondern eher eine eigene schreiben.

    Sonnst würd ich eher über die speicherung der templates überlegen:
    -files (gut zum entwickeln aber langsam)
    -datenbank (schnell aber dumm zum entwickeln)

    auserdem währe es ganz gut wenn man einen $cachetemplate in gettemplate erstellt und das global setzt um ein template nicht gleich 2 mal laden zu müssen.


    mfg printf

    Kommentar


    • #3
      Hallo printf,

      danke für deine Antwort.
      Ich war zuerst etwas verunsichert, da in der PHP Newsgroup irgendwie alle auf phplib oder Smarty oder sogar auf XML schwören. (mit XML will ich aber nichts anfangen).
      Zudem sieht so eine Template Klasse wie Smarty oder phplib viel professioneller aus

      auserdem währe es ganz gut wenn man einen $cachetemplate in gettemplate erstellt und das global setzt um ein template nicht gleich 2 mal laden zu müssen.
      wird schon gecached - keine Sorge.

      die eval methode ist schnell und hat sehr viele vorteile
      Das hat mich interessiert - was ist schneller ? Danke für die Antwort. Aber sei mir nicht böse, wenn ich noch andere Meinungen einhole

      Sonnst würd ich eher über die speicherung der templates überlegen:
      -files (gut zum entwickeln aber langsam)
      -datenbank (schnell aber dumm zum entwickeln)
      Öhm - was hälst du davon ? Link
      [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
      [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
      [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

      © Harald Schmidt

      Kommentar


      • #4
        Frage an Printf:
        warum würdest du phplib nicht empfehlen?

        Kommentar


        • #5
          interessanter Artikel von der PHPconfernz 2001 zu dem Thema:
          http://www.phpconference.de/2001/sli..._templates.tgz

          und hier noch ein bisschen was zum Lesen:
          http://pukomuko.esu.lt/phemplate/benchmark/ (server ist relativ langsam, also GEDULD!)

          gruss

          Kommentar


          • #6
            Das mit dem eval hab ich ja verstanden, aber wie kann ich die templates cachen?
            Danke!
            tj99de
            Of all things I've lost
            I miss my mind the most

            Kommentar


            • #7
              Kann mir keiner das cachen von templates erklären?
              Of all things I've lost
              I miss my mind the most

              Kommentar


              • #8
                also ich mach das so.

                Ich habe mir eine kleines Programm geschrieben das mir von zeit zu zeit meine templates als Files auf die Platte schreibt. Natürlich fix und fertig mit allen Inhalten.

                Ergeben Sich Änderungen werden automatisch die Files einmal pro Nacht neu erzeugt. Daduch kann ich den Datenbankzugriff und die langen Parserzeiten um ein vielfaches reduzieren.

                gruß
                berni

                php-Entwicklung | ebiz-consult.de
                PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                die PHP Marktplatz-Software | ebiz-trader.de

                Kommentar


                • #9
                  Sehr interessant, Deine Lösung, Berni...
                  würde gerne mehr darüber erfahren und ich denke, dass es vielen anderen auch so geht.
                  Wenn ich das richtig sehe, dann steigert der ganze Prozess die Performance eines Projektes erheblich, oder?

                  Wenn Du mal Zeit und Lust hast, kannst Du ja genaueres posten, bzw. ein kleines Tut darüber schreiben

                  Kommentar


                  • #10
                    jo, sobald wir mit der neuen Seite online sind werde ich mal ein kleines tut dazu schreiben.

                    Erwartet nicht zuviel, es ist einfacher als man denkt

                    cu
                    berni

                    php-Entwicklung | ebiz-consult.de
                    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                    die PHP Marktplatz-Software | ebiz-trader.de

                    Kommentar


                    • #11
                      Wahnsinn... Da erwähnt man sowas mal eher scherzhaft ("bzw. ein kleines Tut darüber schreiben), und schon wird es tatsächlich umgesetzt!
                      Ihr seid ein echt super Team hier, das muss man schonmal sagen.
                      Bin schon sehr gespannt darauf, auch wenn es "einfacher ist, als man denkt".

                      gruss, zzet

                      Kommentar


                      • #12
                        Ab php 4.0 befindet sich standardmaessig im pear-repository auch ne eigene Template Klasse (ITX.php) ... die ist meiner Meinung nach recht einfach.
                        Aber arbeitet halt auch mit Regulaeren-Ausdruecken was nicht gerade fuer die Geschwindigkeit foerderlich ist (zumindest soweit ich weiss... )

                        Kommentar


                        • #13
                          @Berni:

                          Wo bleibt das TUT???

                          Kommentar


                          • #14
                            Original geschrieben von MoRtAlan
                            und hier noch ein bisschen was zum Lesen:
                            http://pukomuko.esu.lt/phemplate/benchmark/ (server ist relativ langsam, also GEDULD!)

                            gruss
                            das ist cool, kannte ich noch garnicht.
                            Hab gleich mal meine eigene Klasse eingebaut
                            => naja, muß noch was optimieren, bin noch nicht ganz oben

                            @Flashfactor: Du hattest doch hier nach einer Vergleichsmöglichkeit gesucht,
                            das dürfte doch was sein.
                            TBT

                            Die zwei wichtigsten Regeln für eine berufliche Karriere:
                            1. Verrate niemals alles was du weißt!


                            PHP 2 AllPatrizier II Browsergame

                            Kommentar

                            Lädt...
                            X