なぜ FastTemplate を使用する必要があるのか疑問に思われるかもしれません。
・サイト全体の外観を数秒で変更できます
・抽象的なプログラミング、ジャンク HTML コードは不要
・デザイナーは「わかりにくい」コードをすべて気にする必要がありません
・驚くほど高速
・古いテンプレートの再利用が簡単 (通常の形式の場合)
FastTemplate は、同じ名前の Perl パッケージから派生しています (CPAN で見つけることができます)。 PHP 版はホームページからダウンロードできます (このサイトのダウンロード アドレスは http://www.phpe.net/downloads/1.shtml)。必要なのはクラス ファイル (class.FastTemplate.php) の 1 つだけです。
まず、テンプレートを使用してページを生成することと、単に echo や print でページを出力することの違いについて説明します。
単に echo/print メソッドを使用することは、短いスクリプトを作成するのには最適ですが、スクリプトをより適切に整理したりカスタマイズしたりするのには役立ちません。一方、テンプレートを使用すると、パラメーターを 1 つ変更するだけで多言語サイトを作成できます。彼らはあなたに、自分がしなければならないことにもっと気を配るよう促すことができます。
コーディングを始める前に考えることを恐れないでください。時間はかかるかもしれませんが、プロジェクトが成長するにつれてコストは回収されます。
それでは、FastTemplateを適用するにはどうすればよいでしょうか?まず、簡単な呼び出しを行う必要があります:
すべてのテンプレート ファイルが保存されているディレクトリを渡します。パラメータを割り当てたり、ページを生成したりするために使用できるオブジェクトを返します。
FastTemplate は、大きなページが多くの小さな部分で構成されているという前提に基づいています。各パーツには固有の
名前が付いています。最も小さな部分は、それを一意の名前を持つ通常のテキスト文字列に割り当てることです。これは
$tpl->assign(NAME, "text"); を通じて実行できます。これで、テンプレートの 1 つに {NAME} が含まれている場合、FastTemplate は
の意図を認識します。
さらに、FastTemplate は、テンプレートを呼び出す方法を知る必要があります。連想配列
を define() ?> に渡してヒントを与える必要があります。
以下は引用内容です:
$tpl->define(array(foo => "foo.tpl",
bar => "bar.tpl"));
これらの代入により、foo と bar にそれぞれ異なるファイル (foo.tpl と bar.tpl という名前) が与えられます。
ここで、FastTemplate でテンプレート foo 内のすべての {MACROS} を対応する値に置き換えます。コマンド
を発行すると、引用された内容が次のようになります:
$tpl->parse(PAGECONTENT, "foo");このコマンドは、テンプレート「foo」のコンテンツを PAGECONTENT に割り当てます。もちろん、テンプレート バーはメイン ページ定義であり、FastTemplate はその中の
{PAGECONTENT} マクロを置き換える必要があるため、まだ完了していません。また、次のように PAGETITLE に値を割り当てる必要があります。
以下は引用された内容です:
$tpl->assign(PAGETITLE, "FooBar test");
$tpl->parse( MAIN, " bar");
簡単ですね。 $tpl->FastPrint(MAIN);
?>
次の 3 つのファイルは、実際の演習のより詳細な説明を示しています。実生活でこのテクノロジーがなかったらどうやって生きていけばいいのかわかりません --
より短い時間でより多くのことができるので、デザイナーは満足し、上司は笑顔になるでしょう。
以下は引用内容です:
bar.tpl
Feature world - {PAGETITLE}< / TITLE>
{PAGECONTENT}
.tpl -->
明らかに何も行われていません。{NAME} を参照してください:
demo.php3
$tpl = new FastTemplate("."); tpl ->define(array(foo => "foo.tpl", bar => "bar.tpl"));
$tpl->assign(NAME, "me"); > ;assign(PAGETITLE, "ようこそ!");
$tpl->parse(PAGECONTENT, "foo");
$ tpl->FastPrint(MAIN);
?>
テーブル全体を作成する
単一行のテンプレートを使用してテーブル全体を生成する方法を示す短い例も書きました。 HTML ドキュメントを直接変更する必要がないため、効率的です。
既に定義されている一意の名前の後ろにテンプレートの内容を追加して、HTML テーブルを作成します。これは、
$tpl->parse() を呼び出すときにテンプレート名の前に「.」を追加することで実現できます。 // テンプレート foo の内容を TPL1 に割り当てます
$tpl->parse(TPL1, "foo");
// テンプレート bar の内容を TPL1 の後に添付します
$tpl->parse ( TPL1, ".bar");
?>
page.tpl
以下参照内容:
機能ワールド - {PAGE_TITLE} < /TITLE>
{PAGE_TITLE}
table.tpl
以下は引用された内容です:
namesize |
}
LESIZE}
yad.php3
以下は引用内容です:
include "class.FastTemplate .php3";
function InitializeTemplates() {
global $tpl;
$tpl = new FastTemplate( ".");
$tpl->define( array( page => "page.tpl",
table => "table.tpl",
table_row => "table_row.tpl" ) );
function ReadCurrentDirectory() {
global $tpl = opendir( "."); ($filename = readdir($handle)) {
$tpl->assign(FILENAME, $filename);
$tpl->assign(FILESIZE, filesize($filename)); TABLE_ROWS, ".table_row");
}
closedir($handle);
$tpl->parse(PAGE_CONTENT, "table");
function PrintPage($title);
$tpl->assign(PAGE_TITLE, $title);
$tpl->parse(FINAL, "ページ");
InitializeTemplates(); ReadCurrentDirectory();
Printpage( "Yet Another Demo "); >
Speed Discussion
「すべては素晴らしいです。しかし、サイトの速度には影響しないのでしょうか? 「 www~
いいえ、あなたの Web サイトはおそらく速くなります。 1 つの単純な理由: プログラマーとしてのあなたはアプリケーションの設計とコードの記述に関心があるため、コードはより効率的になり、同じものを処理することになります。タスクはより簡単かつ高速になります。したがって、プロジェクトで FastTemplate の使用を検討する必要がある理由のリストに別の理由を追加することもできます
既存の Web サイトを変換したいだけの場合は、PHP で正規表現バッファリングを使用することをお勧めします。 FastTemplate はすべてのマクロに正規表現を使用するため、この場合に役立ちます。コンパイルは 1 回だけであり、速度への影響はごくわずかです
http://www.bkjia.com/PHPjc/319003.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/319003.html技術記事なぜ FastTemplate を使用する必要があるのか疑問に思われるかもしれません。 · サイト全体の外観を数秒で変更できます · 抽象プログラミング、ジャンク HTML コードは不要 · デザイナーは...