PHP Eval, das HTML & PHP bewertet

8

Ich mache mit Templating rum und bin in eine Situation geraten, in der ich eine Vorlage, die html & amp; php. Wie evaluiere ich das PHP und sende es an den Browser?

Hier ist ein Beispiel (main.php):

%Vor%

Und dann in der template.php:

%Vor%

BEARBEITEN: Meine Vorlage ermöglicht es Ihnen auch, Daten aus dem Controller Smarty-Stil zu injizieren. Würde mir ein Ausgabepuffer erlauben dies zu tun und dann meinen PHP zu bewerten. Das Ideal ist, dass es einen First-Pass durch den Code durchführt und zuerst alle Tags auswertet und dann den PHP ausführt. Auf diese Weise kann ich Loops erstellen und andere Daten verwenden, die von meinem Controller gesendet werden.

%Vor%

Danke!

    
Matt 21.08.2009, 02:20
quelle

6 Antworten

32

Falls Sie dies mit einer Kette von gemischtem HTML / PHP (wie aus einer Datenbank, wie ich) versuchen, können Sie das folgendermaßen machen:

%Vor%

Weitere Informationen: Ссылка (beachten Sie, dass dies ein toter Link ist von 2014-3-3)

    
Josh 22.01.2010 20:01
quelle
10

Verwenden Sie stattdessen die Ausgabepufferung. eval() ist notorisch langsam.

main.php :

%Vor%

Ihre Datei:

%Vor%

Die Ausgabe davon wird sein:

  

Lorem Ipsum

     

Größer als 10!

    
Josh Leitzel 21.08.2009 02:22
quelle
2

Lesen Sie die Datei nicht, sondern schließen Sie sie ein und verwenden Sie output bufferig, um das Ergebnis zu erfassen.

%Vor%

Bearbeiten

Verwenden Sie eine Funktion, um einen neuen Variablenbereich zu erstellen.

%Vor%     
Philippe Gerber 21.08.2009 02:24
quelle
1
%Vor%     
Adam Berry 05.10.2012 19:53
quelle
1

Die beste Lösung in Ihrem Fall ist es, eval und output buffer

zu kombinieren %Vor%     
a_fan 29.06.2013 09:28
quelle
0

Laut @ Josh Antwort ist der einfachere Weg:

%Vor%     
Nick Tsai 26.07.2017 10:03
quelle

Tags und Links