ホームページ >php教程 >PHP开发 >PHP.MVCテンプレートタグシステム(2)

PHP.MVCテンプレートタグシステム(2)

黄舟
黄舟オリジナル
2016-12-17 10:07:351135ブラウズ

php.MVC タグ アクション ディスパッチャー

TagActionDispatcher は、基本的なテンプレート タグへのアクセスをサポートする標準の ActionDispatcher クラスの実装であり、デフォルトの ActionDispatcher クラスと同じ ActionObjects コレクションと ViewResourcesConfig プロパティをサポートします。または、テンプレート タグのないシステムでは、追加の処理によりパフォーマンスが若干低下しますが、テンプレート タグ ライブラリは PHP.MVC フレームワークのサブシステムであり、いくつかの単純なテンプレート タグをサポートします。次の図は、PHP.MVC テンプレート タグ システムの概要を示しています。左側は、テンプレート タグ システムのプログラム フローを示し、右側は、タグ テンプレートがこれらのクラスの相互作用を可能にする方法を示しています。 .

PHP.MVCテンプレートタグシステム(2)1. 初期化

コントローラーが TagActionDispatcher に制御を渡すと、テンプレートを使用するために ActionObjects プロパティと ViewResourcesConfig プロパティを設定するための初期化がトリガーされます。

$form、$errors、および $data オブジェクトを取得します。これらのオブジェクトのいずれかが以前に作成されている場合 (Action クラスなど)、そのオブジェクトはリソース テンプレートに表示されなくなります。それ以外の場合、オブジェクトは NULL に設定されます。
への参照を取得します。構成パラメーターを含む ViewResourcesConfig オブジェクト。
ViewResourcesConfig パラメーターのテンプレート ソース ファイルとコンパイルされたテンプレート ファイルへのパスを設定します。
テンプレート ソース ファイルの拡張子 (「.ssp」の場合があります)。 ViewResourcesConfig->tagFlagStr パラメータと比較して、このページを処理する必要があるかどうかを判断するために使用されます。そうでない場合、ページは標準 (タグなし) テンプレート ファイルとして処理されます。view-resources 要素でタグ ファイル拡張子を構成できます。 、次のようになります:
...
tagFlagStr = ".ssp"
tagFlagCnt = "-4"
...

tagFlagStr は、タグ テンプレート ソース ファイルがこの拡張子は、「.」を含むファイル名の末尾の文字数を定義します (xxxYyy.ssp)。ソース ファイル名の最後の 4 文字は .ssp と -4 なので、テンプレート ファイル名が myPage.ssp のような場合は、これらのパラメータを設定する必要はありません。タグ ファイル
テンプレート タグ システムは、ViewResourcesConfig->PROcessTags 属性に基づいてタグ プロセッサを実行するかどうかを決定します。この属性が true の場合、テンプレート ページ (およびそれに含まれるページ) はタグ プロセッサ クラスによって処理されます。タグ プロセッサは呼び出されません。開発者は開発中にこれを true に設定するだけで済み、それ以外の場合は処理されません。ただし、変更されたタグは processTags 属性が true に設定されている場合にのみコンパイルされることに注意してください (これは、compileAll 属性に依存します)。設定)、次のように view-resources 要素に processTags 属性を定義できます:
.. .
processtags = "true"
...
& lt;/view-resources & gt;
デフォルト値は false であることに注意してください。
tagactionDispatcher がテンプレート ページを決定すると、それを渡すように制御がテンプレート タグ システムに渡されます。または、すべてのページをコンパイルします。この動作は、ViewResourcesConfig->compileAll 属性を使用して定義します。次のように、compileAll 属性を定義します。デフォルトは false です。
5. 変更されたページのみがコンパイルされます。
applyAll 属性が false (デフォルト値) に設定されている場合、たとえば、リクエストされたページが最後に変更された場合のみコンパイルされます。
6. すべてのページをコンパイルする
applyAll 属性が設定されている場合、テンプレート タグ システムは、ページが変更されたかどうかに関係なく、常にページをコンパイルします。開発中にこのオプションを使用すると、すべてのページが確実に処理されます。
テンプレート ページの処理後、制御は TagActionDispatcher に戻ります。他の通常の PHP.MVC テンプレート ファイル。TagActionDispatcher はコンパイルされたページ (インクルードされたページを含む) を取得し、そのページをユーザーのブラウザーに出力します。たとえば、テンプレート タグ システムが呼び出されない場合、TagActionDispatcher は要求されたページを通常の VIEW リソースとして処理します。 , TagActionDispatcher は標準の ActionDispatcher を置き換えるために使用できます

その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。