Web サイトを構築するときは、次のような現実に直面することがあります。Web サイトでは、プログラムを設計するプログラマーと、ページを構成する Web サイト デザイナーが必要です。では、この 2 つをうまく組み合わせる方法はあるのでしょうか? はい、テンプレート (FastTemplate: このプログラムはこのサイトの「プログラムとコード」にあります) を使用すると、作業が簡単になります。 テンプレートを利用するメリットとしては、 1. サイト全体の見た目を短時間で置き換えることができる 2. プログラマーがHTMLコードに触れることなくプログラミングを抽象化できる 3. 処理速度が非常に速い 4. 以前のテンプレートが再利用できるテンプレートの: FastTemplate は、同じ名前の Perl ソフトウェア パッケージから来ています (CPAN にあります)。 PHP3 プラットフォームに移植されています。必要なのは、基本的なクラス ファイル class.FastTemplate.php3 だけです。まず、HTML ページを作成するためのテンプレートの使用と echo または print コマンドの使用の違いを説明します。Echo と print は、短いスクリプトを作成する場合に非常に実用的ですが、スクリプトの構成は次のとおりです。カスタマイズ性は良くなく、複数の言語をサポートするサイトを作成する場合、テンプレートの方がはるかに効率的です。その作業負荷は容易に想像できます。 心配しないでください。FastTemplate を上手に使用するには時間の一部がかかりますが、特に大規模なプロジェクトの場合、この時間は今後の作業で補われます。 では、FastTemplate をどのように使用するのでしょうか? 最初のステップは、関数 を使用することです。ここで、 path は、テンプレート ディレクトリが配置されているパスを指します。この関数は $tpl オブジェクトを作成します。これは後でパラメータを割り当てたり、処理したり、さまざまなページの作成などに使用したりできます。 FastTemplate は、Web ページが多数の小さな部分で構成されているという理論に基づいています。たとえば、WEB ページは TITLE、PAGE、FOOT などに細分化されます。ページ全体には変数名が割り当てられ、各小さな部分には変数名が割り当てられます。通常、最小の分割できない部分は文字列であり、これにも変数名が割り当てられます。具体的な処理となると、レイヤーごとの包含関係になります。含まれるパーツは前のレイヤーにマクロ {NAME} として表示されます。最後に、レイヤーごとに上向きに出力することで、完全なページが得られます。 では、文字列に値を割り当てる最下位の関数は何でしょうか? それは次のとおりです: assign(NAME, "text") ?> この関数を通じて、FastTemplate は文字列テキストを変数 NAME に割り当て、次にマクロを割り当てます。 {NAME} の内容はテキストで置き換えることができます。 例: $tpl->assign(NAME, "me"); これは、変数 NAME を文字列 "me" に割り当てます。 2 番目のステップでは、$tpl は呼び出すすべてのテンプレート ファイル、つまりそれぞれの小さな部分を認識する必要があります。この関数は、配列を定義することで実装されます: define(); ?> 例: define(array(foo => "foo.tpl", bar => "bar.tpl"));合計 2 つ テンプレート ファイルは foo.tpl と bar.tpl の 2 つあり、それらには foo と bar という名前が割り当てられます。 最初のセクションの知識を踏まえて、テンプレート ファイルに含まれるマクロ {MACROS} 部分を定義した変数で置き換えてみませんか?これは、次のコマンドを使用して実現できます: parse(PAGECONTENT, "foo"); ?> このコマンドの具体的な意味は次のとおりです: 最初に assign を使用して FOO テンプレートに含まれるいくつかのマクロ変数を定義し、次にテンプレートを割り当てました。ファイル FOO が置き換えられ、置き換えられたテンプレート ファイルには別の変数名 PAGECONTENT が割り当てられます。 それは次のとおりです: assign(NAME, "me"); $tpl->parse(PAGECONTENT, "foo"); もちろん、バー テンプレート ファイルがメインの出力部分であるため、これはまだ完了していません。 WEB、BAR テンプレート FOO テンプレートが含まれており、BAR には処理を待機しているマクロ変数 {PAGETITLE} および {PAGECONTENT} も含まれています。PAGECONTENT は FOO の処理後に取得され、PAGETITLE が指定されていないため、PAGETITLE を指定する必要があります。 function parse( MAIN, "bar"); ?> 処理を行い、処理結果を変数 MAIN に代入します。 以下のように: assign(PAGETITLE, "FooBar test"); $tpl->parse(MAIN, "bar"); 最終的に必要なのは、ページを出力することだけです: FastPrint(MAIN) ; ?> 以下は、foo.tpl、bar.tpl、および最終的なdemo.php3ファイルです。これについてはよく考えてください: -------------------------------------- ------ ------- foo.tpl これは何も明らかではありません。{NAME} を見てください。 ---------- -------------------------------------- ---- bar.tpl