PHPでテンプレートを使う方法
はい、なぜFastTemplatesを使いますか? ・数秒であなたのサイト全体の外観を変えることができます。 ・抽象的なプログラミングで、ゴミHTMLコードがありません。 ・設計者はすべての「ぼやけ」コードに関心を持たない ・驚くほど早い ・古いテンプレートの方が使いやすい(普通のフォームでは) FastTemplateは同じ名前のPerlパッケージから由来しています。PHPをダウンロードできます のバージョンはホームページからダウンロードします。http://www.phpe.net/downloads/1.shtmlを選択します。その中の一つの種類のファイルだけが必要です。 まず、テンプレートを使って一つのページを生成し、簡単にechoまたはprintを通して説明します。 ページ出力の間に何か違いがありますか? 簡単にecho/printを使う方法は短い脚本を書くのに適していますが、より良い組織とカスタマイズを助けることができません。テンプレートは別の面で あなたが多言語サイトを作る能力を持っています。パラメータを変えるだけです。彼らはあなたにもっと関心を持つように促します。 コードを始める前に考えることを恐れないでください。それは時間がかかるかもしれませんが、これらの費用はプロジェクトの発展によって報われます。 では、FastTemplateはどう使いますか?まず簡単に呼び出す必要があります。 パスを渡すと、すべてのテンプレートファイルが保存されているディレクトリです。オブジェクトを返します。これを使って参照してください。 ページなどを生成します。 FastTemplateはこのような仮定に基づいています。大きなページは多くの小さな部分から構成されています。すべての部分に一つだけあります。 の名前です。最小の部分は、このような唯一の名前を持つ通常のテキスト文字列に割り当てられます。これは通過できます assign(NAME) "text"); ?> 完成します。今、もしあなたのテンプレートに「NAME」が含まれていたら、FastTemplate あなたを知っています 意図しました。 また、FastTemplateはあなたのテンプレートを呼び出す方法を知る必要があります。あなたは関連する配列を送る必要があります。 あげる define(); ?> ヒントを与えます。 以下は引用の内容です。php $tpl->define(array) => "foo.tpl" bar => "bar.tpl"); ?> これらの割当値はそれぞれfooとbarに異なるファイル(foo.tplとbar.tplという)で与えられます。 今はFastTemplateをテンプレートfooのすべてのMACROSに置き換えたいです。命令を出すことによって 以下は引用の内容です。php $tpl->parse(PAGECONTENT、 "foo"); ?> 実現します。 このコマンドはテンプレートの「foo」の内容をPAGECONTENTに割り当てます。 もちろん、私達はまだ完成していません。テンプレートbarの中で主要なページの定義のため、FastTemplateはその中のものを取り替える必要があります。 {PAGECONTENTマクロです。私たちもPAGETITLEに値を付けたいです。次のようにします。 以下は引用の内容です。 assign(PAGETITLE、 "FooBar test"); $tpl->parse(MAIN、 "bar"); ?> 簡単でしょう。私たちは今それを出力するだけです。 FastPrint(MAIN) ?> 以下の3つのファイルは実際の練習におけるより詳細な説明を示している。私は実生活でこの技術を離れてどのように生活するべきか分かりません。 -- あなたの設計者は喜ぶことができて、あなたの支配人はほほえむことができて、あなたがもっと短い時間の内に更に多くの事をすることができるためです。 以下は引用の内容です。bar.tpl Feature ワールド - {PAGETITLE {PAGETITLE} {PAGE CONTENT) foo.tpl 何もしていないとはっきりしています。を見てください 以下は引用の内容です。 demo.php 3 define(array) => "foo.tpl" bar => "bar.tpl"); $tpl->assign(NAME) "私は $tpl->assign(PAGETITLE、 "ウエルカム!"); $tpl->parse(PAGECONTENT、 "foo"); $tpl->parse(MAIN、 "bar"); $tpl->FastPrint(MAIN) ?> テーブル全体を作成 私も短い例を書いて、どのように単一の行のテンプレートを通して表全体を生成するかを実証します。それは有効です。まだまっすぐにする必要がないからです。 HTMLドキュメントの変更を受けます。 テンプレートの内容を追加して、既に定義されている一意の名前の後ろにHTMLテーブルを作成します。これは呼び出し中に使用できます。 $tpl->parse()の場合は、テンプレート名の前に「.」を付けて実現します。 parse(TPL 1、 "foo"); // TPL 1の後にテンプレートbarの内容を添付します。 $tpl->parse(TPL 1、 ".bar"); ?> page.tpl 以下は参照の内容です。 Feature ワールド - {PAGE_TITLE {PAGE_}TITLE {PAGE_CONTENT) テーブル.tpl 以下は引用の内容です。 name size {TABLE_ROWS} テーブルrow.tpl 以下は引用の内容です。 {FILENAME} {FILESIZE} yad.php 3 以下は引用の内容です。php include "class.FastTemplate.php 3"; 機能 Initialize Templates() { global $tpl; $tpl = new FastTemplate( "."); $tpl->define( array( page => "page.tpl" テーブル => "テーブル.tpl" テーブルrow => "テーブルrow.tpl" ) ); } 機能 ReadCurent Directory() { global $tpl; $ハンドル = opendir( "."); while($filename) = readdir($handle) { $tpl->assign(FILENAME) $filename; $tpl->assign(FILESIZE、 filesize($filename); $tpl->parse(TABLE_)ROWS ".テーブルrow'; } closedir($handle) $tpl->parse(PAGE_CONTENT "テーブル"); } 機能 PrintPage($title) { global $tpl; $tpl->assign(PAGE_TITLE $title; $tpl->parse(FINAL) "page"); $tpl->FastPrint(FINAL) } Initialize Templates() ReadCurent Directory() Printpage( "Yet Another モモ「 ?> 速度論 「Ok」 「すべてがよかった。しかし、それは私のサイトの速度に影響しませんか? www~ いいえ、あなたのサイトはもっと速くなるかもしれません。一つの簡単な原因は:あなたがプログラマーとして関心を持っているのは、あなたのアプリケーションを設計し、コードを作成することです。あなたのコードはより効率的になります。したがって、上に挙げた理由を考慮して、FastTemplateを使ってあなたのプロジェクトの原因リストに他の理由を追加することができます。 既に存在しているウェブサイトを変換したいだけであれば、性能上の成功は気づかれないかもしれません。PHPでは正規表現バッファを使用することを提案します。この場合に役立ちます。FastTemplateはマクロごとに正規表現を使用するので、正規表現は一度だけコンパイルされ、速度の影響は無視できます。