この記事の例では、Thinkphp テンプレートが解析されず、そのまま直接出力する問題の解決方法を説明します。皆さんの参考に共有してください。詳細は以下の通りです。
1. 質問:
最近 thinkphp のテンプレートを勉強していたのですが、一生懸命探した結果、テンプレートのページがそのまま出てきたことがわかりました。
2. 解決策:
多くの人が同じ問題に遭遇しています。変数に割り当てられた文字列に含まれる __ROOT__、__PUBLIC__、および __APP__ は、テンプレートに表示されるときに実際のパスに置き換えられます。私は Timi ファイル管理システムを作成しているときにこの問題を発見しました。
ファイルからソースコードを読み込んでページに出力したところ、TP パス文字であれば実際のパスに置き換えられていることがわかりました。
例:
当初、ソース コードを変更して、子供用の靴に関する次のソリューションを実装する予定でした:
上司、これは一時的な解決策ですか、それとも最終的な解決策ですか?
でも、assign()メソッドに判定を加えるのも悪くないと思います
$this->assign('','',false)の場合は内容は置換されず、そのまま出力されます。
その結果、このソースコードを読んだ後、それはそれほど簡単ではなく、変更が大きすぎることがわかりました。
別の子供からの最後の返信は、最終的な解決策を指摘しました:
「内容はここで参照できます: http://www.jb51.net/article/54217.htm(テンプレートの置き換え)
テンプレート置換ルールを使用すると、ページ上のすべての __PUBLIC__ 文字列が置換されます。本当に __PUBLIC__ 文字列をテンプレートに出力する必要がある場合は、次のような置換ルールを追加できます。
それで、計画がリリースされました:
Tp の設定ファイル config.php で設定します
次に、以下の図に示すように、テンプレートが解析されるときに TMPL_PARSE_STRING の構成が置き換えられます。
それ以来、この問題は「一時的に」かつ「完全に」解決されました。
この記事が皆さんの ThinkPHP フレームワーク プログラミングに役立つことを願っています。