brauche hilfe mit templates

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

  • brauche hilfe mit templates

    hi, ich habe angefangen eine kleine templates klasse zu schreiben...klappt aber alles net so wies soll

    bin noch ein ziemlicher noob in sachen php...also net böse sein, wenn ich hier dumme fragen stellen sollte...aber es gibt ja keine dummen fragen...bloß dumme antworten...=)

    naja...also...zurück zum thema

    meine klasse soll ungefähr so aussehen:

    PHP-Code:
    class TEMPLATE {
      function 
    getTemplate($tpl_name){
        
    $tpl_folder "templates";
        
    $tpl_ending "tpl";
        return 
    str_replace("\"""\\\""implode("",file($tpl_folder."/".$tpl_name.".".$tpl_ending)));
      }

      function 
    showTemplate($tpl_name){
        echo 
    $tpl_name;
      }
      
      function 
    subTemplate($tpl_var$tpl_file){
        return eval (
    "\$".$tpl_var."= \"".$this->getTemplate($tpl_file)."\";");
      }
      
      function 
    mainTemplate($tpl_name){
        return eval (
    "$this->showTemplate(\"".$this->getTemplate($tpl_name)."\");");
      }

    das problem dabei ist die function subTemplate

    doch das

    PHP-Code:
    eval ("\$".$tpl_var."= \"".getTemplate($tpl_file)."\";"); 
    wird ohne probleme ausgeführt solange es nicht in einer funktion oder klasse ist

    nun meine frage...wo könnte da der fehler liegen?...habe ich totalen blödsinn geschrieben?...ist die umsetzung wie ich sie mir vorstelle denn überhaupt möglich?

    und bevor da jetzt fragen kommen wie z.b. "wozu brauchst du das?" oder "wieso willste sowas überhaupt schreiben?" antworte ich da direkt mal drauf

    ich wills zum ersten wegen der übersichtlichkeit und zweitens wegen der schreibarbeit

    anstatt immer


    PHP-Code:
    eval ("\$bla .= \"".getTemplate("bla")."\";"); 
    zu schreiben, schreibe ich dann einfach nur


    PHP-Code:
    subTemplate("bla .""bla"); 
    ich bedanke mich schonmal für eine antwort

  • #2
    hmm, eval ist evil

    Spaß bei seite, du solltest versuchen in deiner Klasse ohne eval auszukommen

    Kommentar


    • #3
      wäre nett, wenn du mir eine andere möglichkeit nennen könntest...ich will nicht auf die großen templates klassen umsteigen, da die zu umfangreich sind und ich damit nicht klar komme....

      was kann ich denn außer eval nehmen?

      Kommentar


      • #4
        http://www.php-resource.de/tutorials/read/20/1/
        http://www.php-resource.de/tutorials/read/26/1/

        Kommentar


        • #5
          jo die kenne ich schon...komme aber damit irgendwie net zurecht ...aber trotzdem danke

          Kommentar


          • #6
            zumindest das erste (Achtung: es gibt eine neue Version der Klasse) sollte für dein Vorhaben wunderbar zu nutzen sein, ohne dass du auch nur eine änderung in der Klasse vornimmst.

            Kommentar

            Lädt...
            X