Das Beispiel in diesem Artikel beschreibt die Lösung des Problems, dass die Thinkphp-Vorlage nicht geparst wird und direkt so ausgegeben wird, wie sie ist. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
1. Frage:
Ich habe kürzlich Thinkphp-Vorlagen kennengelernt, aber nach einigem Suchen habe ich endlich die Lösung gefunden.
2. Lösung:
Viele Leute sind auf das gleiche Problem gestoßen. Die in der der Variablen zugewiesenen Zeichenfolge enthaltenen Werte __ROOT__, __PUBLIC__ und __APP__ werden bei der Anzeige in der Vorlage durch echte Pfade ersetzt. Ich habe dieses Problem beim Schreiben des Timi-Dateiverwaltungssystems entdeckt.
Nachdem ich den Quellcode aus der Datei gelesen und auf der Seite ausgegeben hatte, stellte ich fest, dass, solange es sich um ein TP-Pfadzeichen handelt, es durch einen echten Pfad ersetzt wurde.
Zum Beispiel:
Ursprünglich hatte ich geplant, den Quellcode zu ändern, um die folgende Lösung für Kinderschuhe zu implementieren:
Boss, ist das eine vorübergehende Lösung oder eine endgültige Lösung?
Aber ich denke, es ist nicht schlecht, der Methode „assign()“ ein Urteil hinzuzufügen,
Wenn es $this->assign('','',false) ist, wird der Inhalt nicht ersetzt und unverändert ausgegeben.
Nachdem ich diesen Quellcode gelesen hatte, wurde mir klar, dass es nicht so einfach war und die Änderungen zu groß waren.
Die letzte Antwort eines anderen Kindes zeigte die endgültige Lösung auf:
"Sie können hier auf den Inhalt verweisen: http://www.jb51.net/article/54217.htm(Vorlagenersatz)
Mit den Vorlagenersetzungsregeln werden alle __PUBLIC__-Strings auf der Seite ersetzt. Wenn wir den __PUBLIC__-String wirklich in der Vorlage ausgeben müssen, können wir Ersetzungsregeln hinzufügen, zum Beispiel:
Wenn wir nach dem Hinzufügen der Ersetzungsregeln auf diese Weise die Zeichenfolge __PUBLIC__ ausgeben möchten, müssen wir nur --PUBLIC-- in der Vorlage hinzufügen. Die Ausgabemethode anderer Ersetzungszeichenfolgen ist ähnlich.
Also wurde der Plan veröffentlicht:
Konfigurieren Sie in der Tp-Konfigurationsdatei config.php
Dann wird die Konfiguration von TMPL_PARSE_STRING einfach ersetzt, wenn die Vorlage analysiert wird, wie in der Abbildung unten gezeigt:
Seitdem ist dieses Problem „vorübergehend“ und „perfekt“ gelöst.
Ich hoffe, dass dieser Artikel für alle bei der Programmierung des ThinkPHP-Frameworks hilfreich sein wird.