ホームページ >php教程 >php手册 >PHP でのテンプレートの使用方法

PHP でのテンプレートの使用方法

WBOY
WBOYオリジナル
2016-06-13 12:28:571804ブラウズ

なぜ FastTemplate を使用する必要があるのか​​疑問に思われるかもしれません。

・サイト全体の外観を数秒で変更できます
・抽象的なプログラミング、ジャンク HTML コードは不要
・デザイナーはすべての「わかりにくい」コードを気にする必要はありません
・驚くほど高速
・古いテンプレートの再利用が容易 (通常のフォーム用)

FastTemplate は、同じ名前の Perl パッケージから派生しています (CPAN にあります)。 PHP 版はホームページからダウンロードできます (このサイトのダウンロード アドレスは http://www.phpe.net/downloads/1.shtml)。必要なのはクラス ファイル (class.FastTemplate.php) の 1 つだけです。



まず、テンプレートを使用してページを生成することと、単に echo や print でページを出力することの違いについて説明します。
単純に echo/print メソッドを使用することは、短いスクリプトを作成するのには適していますが、整理やカスタマイズを改善するのには役立ちません。一方、テンプレートを使用すると、パラメーターを変更するだけで、
多言語サイトを作成できます。彼らはあなたに、自分がしなければならないことにもっと気を配るよう促すことができます。



コーディングを開始する前に、考えることを恐れないでください。時間はかかるかもしれませんが、プロジェクトが成長するにつれてコストは回収されます。



では、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

特集ワールド - {PAGETITLE}

{PAGETITLE}
{PAGECONTENT}


foo.tpl

何も行われませんでした。
以下は引用された内容です:



demo.php3
include "class.FastTemplate.php3";
$tpl = new FastTemplate( ".");
$tpl->define(array(foo => "foo.tpl", bar => "bar.tpl")); >
$tpl->assign(NAME, "me");
$tpl->assign(PAGETITLE, "ようこそ!"); > $tpl->parse(PAGECONTENT, "foo");
$tpl->parse(MAIN, "bar");



$tpl->FastPrint ( MAIN);
?>

テーブル全体を作成する
単一行のテンプレートを使用してテーブル全体を生成する方法を示す短い例も作成しました。 HTML ドキュメントを直接変更する必要がないため、これは機能します。



すでに定義されている一意の名前にテンプレートのコンテンツを追加して、HTML テーブルを作成します。これは、
$tpl->parse() を呼び出すときにテンプレート名の前に「.」を追加することで実現できます。 // テンプレート foo のコンテンツを TPL1 に割り当てます。
$tpl->parse(TPL1, "foo");

// テンプレート bar のコンテンツを TPL1 の後に追加します。コンテンツ
$tpl->parse(TPL1, ".bar");

page.tpl


引用されたコンテンツの場合:

フィーチャーワールド - {PAGE_TITLE}
;

{PAGE_TITLE}


>

以下は引用内容です: ;
名前
{TABLE_ROWS}




table_row.tpl

以下は引用内容です:

{FILENAME}{FILESIZE}

yad.php3



引用内容:
include "class.FastTemplate.php3";
function InitializeTemplates() {
global $tpl;
$tpl( " .");
$tpl->define( array( page =>gt; "page.tpl" ,
table =>gt; "table.tpl",
table_row => "table_row.tpl" " ) );
}

function ReadCurrentDirectory() {
global $tpl ;

$handle = opendir( ".");
while($filename = readdir($handle)) {
$tpl->assign(FILENAME, $filename);
$tpl->assign(FILESIZE, filesize($filename)); parse(TABLE_ROWS, ".table_row");
}
closedir($handle);
$tpl->parse(PAGE_CONTENT, "テーブル");

function PrintPage($title) {
global $tpl;

$tpl->assign(PAGE_TITLE, $title); , "ページ");
$tpl->FastPrint(FINAL);

InitializeTemplates();
ReadCurrentDirectory();
Printpage( "さらに別のデモ" );
?>

スピード ディスカッション




「すべてが素晴らしい」とあなたは言うかもしれません。しかし、サイトの速度には影響しないのでしょうか? " www~

いいえ、あなたの Web サイトはおそらく速くなります。単純な理由の 1 つは、プログラマーであるあなたはアプリケーションの設計とコードの記述に関心があるため、コードが速くなります。効率が良く、処理が簡単で速くなります。同じタスクなので、プロジェクトで FastTemplate の使用を検討する必要がある理由のリストに別の理由を追加することもできます。

既存の Web サイトを変換するだけであれば、パフォーマンスが向上する可能性があります。この場合、FastTemplate はすべてのマクロに正規表現を使用し、各正規表現は 1 回だけコンパイルされ、速度への影響は無視できるため、PHP で正規表現バッファリングを使用することをお勧めします。

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