PHP では、ファイルをインクルードする必要がある場合があります。たとえば、以前フレームワークを書いていたとき、ネイティブ PHP をテンプレートとして使用し、そのテンプレート ファイルを導入する表示メソッドを記述する予定でしたが、これは私の想像にすぎませんでした。
書いた後、テンプレート内のすべての変数が未定義であることがわかりました。さまざまな調査と情報の検索を通じて、ファイルを含める場合のいくつかの状況における範囲をまとめました。
最初のケース: A ファイルには B ファイルが含まれており、A の変数は B ファイルで呼び出すことができます。
ファイルコード:
リーリーB ファイルコード:
リーリーコンテンツは正常に出力できます。
2番目のケース: AファイルにBファイルが含まれており、Bファイルの変数をAファイルで呼び出すことができます。
ファイルコード:
B ファイルコード:
リーリー現時点では、コンテンツは正常に出力できます。
3番目の状況: ファイルA内の特定のクラスのメソッドでファイルBを呼び出すと、メソッド内の変数をファイルBで呼び出すことができます。
ファイルコード:
B ファイルのコード:
リーリー現時点では、コンテンツは正常に出力できます。
4 番目のケース: A ファイルは、定義された関数を通じて B ファイルをインポートします。 A の変数は B ファイルでは使用できませんが、A ファイルの呼び出し関数 (表示) の変数は使用できます。
ファイルコード:
B ファイルコード:
リーリー実行後、$aaaは未定義である旨のメッセージが出ますが、$bbbは正常に出力できます。
そこで、表示方法を使ってテンプレートを導入するのは現実的ではないと考え始めました。 3 つの状況に基づいて、最終的にテンプレート ファイルをインポートするクラスを作成することにしました。現在、ThinkPHP と Smarty もクラスを使用してテンプレート ファイルを導入しています。記事内の欠陥があれば修正していただければ幸いです。
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。