Eigenes Template-System in der Sackgasse?

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

  • Eigenes Template-System in der Sackgasse?

    Hi Leute,

    ich möchte gern mein eigenes kleines CMS aufbauen, aber irgendwie zweifel ich meine bisherige Arbeit z.Z. ziemlich an und weiß nich ob das überhaupt Sinn macht, was ich hier wurschtel....

    Also u.a. hab ich eine PHP-Template-Klasse, die auch insofern funktioniert, da ich z.B. in meinem Template ein Keyword, wie z.B. {content} einfüge und an dieser Stelle zur Laufzeit den Inhalt aus der DB rein-"parse", aber problematisch wird es, wenn ich kein Text-Inhalt an dieser Stelle einfügen will, sondern beispielsweise ein anderes Script (Siehe hier) inkludieren möchte. Ich hab mir nämlich gedacht, dass ich entweder besagten "Text-Inhalt" einfüge, oder ein Script (Feature). Mit PHP-Fkt. ob_get_contents(); kann man ja einiges machen, aber mittlerweile bin ich mit meinen Plänen soweit, dass ich mit Session und einer Möglichkeit zum "Einloggen" experimentiere .. und da gibts schon diverse Probleme und ich glaube dass der Weg über meine Template-Klasse nicht optimal ist.

    Kann mir mal jemand einen etwas "professionelleren Ansatz" verraten oder hat sonst irgendwelche Tips zu dem Thema (wie ich das realisieren kann)? thx

  • #2
    Du könntest dir zum Beispiel anschauen wie das andere Template Systeme machen, welche es ja wie Sand am Meer gibt. Nach deinen jetzigen Prinzip würde ich es so machen:

    PHP-Code:
    // Instanz vom Haupttemplate
    $tpl = new Template(TPL_DIR '/index.htm');

    // Der Contentbereich
    $content = new Template(TPL_DIR'/content.htm');
    $content->assign('title''Seite 1');
    $content->assign('user' 'username');

    // Contentbereich wird Haupttemplate übergeben
    $tpl->assign('content'$content->fetch());
    $tpl->display(); 
    Hoffe, dass das Beispiel verständlich ist.

    Kommentar


    • #3
      Also sorry aber ich muss das einfach mal loswerden:

      Warum versuchen so viele Leute das Rad ständig neu zu erfinden... wie schon gesagt Template Systeme gibt es wie Sand am Mehr...

      Nehmen wir zB mal Smarty her ehe man diese Funktionalität nach empfunden und umgesetzt hat geht die Sonne ein paar mal auf und letzten endes hat minimal unterschiede.

      Warum nimmst du dir nicht einfach ein bestehendes Template System her welches deinen Vorstellungen am nähesten kommt und erweiterst es um die gewünschte Funktionalität... Das ist meiner Meinung nach der elegantere und vorallem schnellere Weg.


      Interpretier das bitte nicht falsch, aber ich versteh es einfach nicht.


      Bye!

      Kommentar


      • #4
        Ich hab auch meine eigene Templateklasse geschrieben.
        Entstand eigentlich mehr aus tests, aber beim benchmarken hab ich festgestellt, dass die Klasse fast doppelt so schnell wie smarty ist, während alle von mir benötigten Funktionen von smarty darin enthalten sind.
        Ab sofort benutz ich lieber meine engine, bei Bedarf kann ich sie erweitern ohne ein Problem mit der Verständniss des Codes zu haben, und schneller ist sie auch noch.

        Hat mich zwar zwei Tage unkonstantes Programmieren gekostet, aber wie gesagt, ddas waren eher Tests.

        Kommentar


        • #5
          hi...

          ich würde auch was eigenes nehmen. geht doch genauso gut und man brauch die viele funktionen von smarty nicht erst durchgehen. also ich komme uahc mit weniger sehr gut zurecht

          Kommentar


          • #6
            @rytmus

            Mm also Geschwindigkeit ist ein Argument wobei das mit Sicherheit auch eine Frage der Version ist. Denn mit dem caching system ist die Geschwindigkeit eigendlich OK und ich denke mal bei größeren Geschichten auch schwer zu toppen...
            Welche smarty version hast du denn für deine Tests verwendet (mit/ohne caching) ?

            @lx-club
            Also ich weis nicht, die Doku zu smarty hab ich in einem Tag durch... und weis eigendlich alles was ich brauch und hab mir an diesem Tag auch noch ne kleine Übersicht dazu erstellt (Man wird halt alt ).
            Ich bräuchte glaube länger für eine eigene TemplateEngine... mit Tests und Dokus ...


            Bye!

            Kommentar


            • #7
              Original geschrieben von dayman
              @rytmus

              Mm also Geschwindigkeit ist ein Argument wobei das mit Sicherheit auch eine Frage der Version ist. Denn mit dem caching system ist die Geschwindigkeit eigendlich OK und ich denke mal bei größeren Geschichten auch schwer zu toppen...
              Ich finde leider die Quelle nicht mehr, habe aber mal gelesen, dass Smarty mit Caching sogar langsamer gewesen sein sollte, als ohne. Ich finde, dass Smarty zu überladen ist. Verwende deshalb auch lieber eine eigene kleine Template Engine.

              Benchmark Test zw. Smarty und SmartTemplate: http://www.smartphp.net/content/smar...out/speed.html

              Kommentar


              • #8
                Also ich möchte hier Smarty um Gotteswillen nicht als Allheilmittel hinstellen. Wenn man die ganze Funktionalität nicht braucht ist das sicherlich genaus so als wenn man mit Kanonen auf Spatzen feuert.
                Aber es gibt ja auch schon genug leichtere TemplateSysteme (zB SmartyClass aus dem Test).

                Desswegen sagte ich ja eingangs am besten eins raus suchen das den eig. Vorstellungen am nächsten kommt und evt. noch erweitern. Und wenn man wirklich nichts Vergleichbares findet dann muss man halt selber ran.


                Bye!

                Kommentar

                Lädt...
                X