Web サイトを構築するときは、次の現実に直面する必要があるかもしれません:
Web サイトでは、プログラムを設計するプログラマーと、ページを構成する Web サイト デザイナーが必要です。では、この 2 つをうまく組み合わせる方法はあるのでしょうか?
はい、テンプレート (FastTemplate: このプログラムはこのサイトの「プログラムとコード」にあります) を使用すると、作業が簡単になります。
以下はテンプレートを使用する利点を説明します:
1. サイト全体の外観を短時間で置き換えることができます
2. プログラマーは HTML コードに触れることなくプログラミングを抽象化できます
3. 速度が非常に速いです
4 、以前のテンプレートを再利用できます
テンプレートの起源: FastTemplate は、同じ名前の Perl ソフトウェア パッケージから来ています (CPAN にあります)。 PHP3 プラットフォームに移植されています。必要なのは、基本的なクラス ファイル class.FastTemplate.php3 のみです
まず、HTML ページを作成するためのテンプレートの使用と echo または print コマンドの使用の違いを説明します。echo と print は短いスクリプトを作成する場合に非常に実用的ですが、完成したスクリプトは次のとおりです。カスタマイズ性は良くなく、複数の言語をサポートするサイトを作成する場合、テンプレートの方がはるかに効率的です。その作業負荷は想像できます。
FastTemplate を上手に使用するには時間の一部がかかりますが、この時間は今後の作業、特に大規模なプロジェクトの場合に埋め合わせられますので、ご安心ください。
では、FastTemplate を使用するにはどうすればよいでしょうか?
最初のステップでは、関数
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) が含まれていることを示しています。彼らに割り当てられています。
最初のセクションの知識を踏まえて、テンプレート ファイルに含まれるマクロ
{MACROS} 部分を独自に定義した変数に置き換えてみませんか?これは次のコマンドを使用して実現できます:
$tpl->parse(PAGECONTENT, "foo");
このコマンドの具体的な意味は次のとおりです。最初に assign を使用して FOO テンプレートに含まれるいくつかのマクロ変数を定義し、次にこれらの変数に基づいてテンプレート ファイル FOO を置き換え、置き換えたテンプレート ファイルを別の変数名 PAGECONTENT に割り当てます。
完全なリストは次のとおりです:
$tpl->assign(NAME, "me");
$tpl->parse(PAGECONTENT, "foo"); ;
もちろん、バー テンプレート ファイルは WEB の主要な出力部分であるため、BAR テンプレートには処理を待機しているマクロ変数 {PAGETITLE} と {PAGECONTENT} も含まれています。 PAGECONTENT は FOO によって処理されており、PAGETITLE が指定されていないため、関数
parse(MAIN, "bar"); も指定する必要があります。結果は変数 MAIN に代入されます。
以下のように:
$tpl->assign(PAGETITLE, "FooBar test");
$tpl->parse(MAIN, "bar");非常に簡単で、最終的にはページを出力するだけです:
$tpl->FastPrint(MAIN);
?> 以下は foo.tpl、bar.tpl です。そして最終デモの .php3 ファイル。
よく考えてください:
----------------------------------------------------- --------------------
foo.tpl
これは明らかな処理を行っていません。{ を見てください。名前}。-------------------------------------------------- -----------
bar.tpl