ist eval() sinnvoll um templates zu haben? brainstorming

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

  • ist eval() sinnvoll um templates zu haben? brainstorming

    Ist eval() sinnvoll, um Werte in ein .htm einzufügen?

    Das .htm möchte ich graphisch erstellen (Frontpage.....), und darin in einem "<div>$liste</div>" eine Liste aus einem 'SELECT' query einfügen . Ich denke daran, mir $liste mit eval()s zusammenzusetzen.

    Die Detailzeile "<div>$id $name $adresse </div>" wird auch irgendwie graphisch entstehen müssen.

    Die Fragen sind geht das graphisch, wie geht er geschickt vor, und braucht es im .htm noch eine <table> für die Detailzeilen oder geht alles mit <div>? Hat jemand Erfahrung ob das geht und übersichtlich wird?

  • #2
    brainstorming
    Augen auf! dafür gibts ein eigenes Forum. *move*

    Kommentar


    • #3
      was haltet ihr von folgendem:

      PHP-Code:
      $template='<TD><?= htmlspecialchars($contents?></td>';
      eval('?>' . $template);

      oder

      ob_start();
      eval('?>' . $template);
      ob_get_contents();
      ob_end_clean();
      Augen zu und durch, das ist php, sogar lt manual UCN.

      Kommentar


      • #4
        Original geschrieben von vierteln
        was haltet ihr von folgendem:
        Möglichst viel Abstand.

        PHP-Code:
        $template='<TD><?= htmlspecialchars($contents?></td>';
        eval('?>' . $template);
        In so einem Falle würde ich den Einsatz von sprintf() doch für sehr viel sinnvoller halten.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Solltest du eval() einsetzen, dann achte darauf, es von Verschachtelung fern zu halten.

          PHP-Code:
          $code 'eval($code);';
          eval(
          $code); 
          ist tödlich.

          Kommentar


          • #6
            Original geschrieben von wahsaga
            Möglichst viel Abstand.
            In so einem Falle würde ich den Einsatz von sprintf() doch für sehr viel sinnvoller halten.
            Der String $template kommt aus einem graphischen html-Editor dh Frontpage und ist mit preg_match() ; herausgepickt. Ich habe sprintf angeschaut, aber ich sehe die Anwendung in so einem Fall nicht, wie würde das gehen?

            Die Alternative ist noch
            PHP-Code:
            $template=<td>'.htmlspecialchars($zelleninhalt).'</td>

            und damit ein

            eval('<td>'.htmlspecialchars($zelleninhalt).'</td>'); 
            herzustellen, selbstverständlich sauber backslashed.

            Für den Hinweis auf die Gefahr von eval(eval) besten Dank.

            Kommentar


            • #7
              Original geschrieben von vierteln
              Ich habe sprintf angeschaut, aber ich sehe die Anwendung in so einem Fall nicht, wie würde das gehen?
              Im Template-String Platzhalter für die Variablen einsetzen, und dann mit sprintf ausgeben und Werte einsetzen.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                ok ,danke, das habe ich auch so gesehen.

                Ich suche noch etwas weiter. Weil im Frontpage (als template-editor) möchte ich die $variabelnnamen verwenden können bis hin zu htmlspecialcharacters($variable) bzw. urlencode($variable).

                Kommentar


                • #9
                  Original geschrieben von vierteln
                  Weil im Frontpage (als template-editor) möchte ich die $variabelnnamen verwenden können bis hin zu htmlspecialcharacters($variable) bzw. urlencode($variable).
                  Du willst also Layout und Programmierung doch wieder vermischen - dann kannst du dir Templates auch gleich sparen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Original geschrieben von wahsaga
                    Du willst also Layout und Programmierung doch wieder vermischen dann

                    ???

                    Kommentar


                    • #11
                      *seufz*

                      Was gibt es denn daran nicht zu verstehen?

                      Du willst originale PHP-Variablennamen in dein Template schreiben, und sogar richtige PHP-Funktionsaufrufe dort einbinden - also wofür dann noch ein Template (welches schließlich explizit zur strikten Trennung von Verarbeitungslogik und Layout dienen soll) ...?
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Auch seufz....
                        Zuletzt geändert von vierteln; 30.04.2006, 14:19.

                        Kommentar


                        • #13
                          Original geschrieben von wahsaga
                          *seufz*

                          Was gibt es denn daran nicht zu verstehen?

                          Du willst originale PHP-Variablennamen in dein Template schreiben, und sogar richtige PHP-Funktionsaufrufe dort einbinden - also wofür dann noch ein Template (welches schließlich explizit zur strikten Trennung von Verarbeitungslogik und Layout dienen soll) ...?
                          OffTopic:
                          wahsaga, das hört sich für mich so an als ob Logik nicht in Templates gehört. In seinem Falle ist das natürlich richtig, solch eine Verwendung entspricht nicht dem Sinn eines Templatesystems.
                          Allgemein gehört Logik aber auch zur Anzeige, denn triviale Anzeigen gibt es ja so gut wie gar nicht.

                          Kommentar

                          Lädt...
                          X