Appendix

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

リンク

このブログをリンクに追加する






FC2 Affiliate

Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://system4zphoto.blog78.fc2.com/tb.php/8-623baed2

-件のトラックバック

-件のコメント

[C2] htmltemplateはすばらしいです

htmltemplateのヘビーユーザです。
もっと多く紹介されても良いものだと思うのですが、情報が少ないですね。
もっと広めたいですが、肝心の鮎川氏があまり表に出てこられないのが残念です。
突然、失礼いたしました。

コメントの投稿

投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

HTML template for PHP (HTMLテンプレート ライブラリー)

HTML template for PHP
http://sourceforge.net/projects/htmltemplate/ より入手
本家は、鮎川寛氏(hiroshi ayukawa)さんの『PHP開発日誌』より提供されていました。 (既にホームページはなく、英語のページで存在を知りました。)
再配布自由な形(Artistic License version 2.0)で公開してくださった同氏は、サーバ向け検索エンジンNamazuを開発されたそうです。本当に、凄い人ですね。

テンプレートエンジンを探していたところ、日本語のサイトを検索すると「Smarty」や「patTemplate」が紹介されていましたが、「HTML template for PHP」の方が、利用できる環境が多くて、よさそうですね。レンタルの共有サーバなど、自分でサーバの設定を変更できない場合も、おそらく利用できると思います。本当に、よく出来たライブラリーです。
なぜ、HTML template for PHPの利用方法を紹介するページが少ないのでしょう?大半が、SmartyやpatTemplateでした。

私の使った機能を中心に利用方法を紹介しておきます。(私は、ほとんど基本的な機能しか使っておりませんが!!)
<必要ファイル>
・htmltemplate.inc テンプレートエンジンのクラスファイル
・PHPファイル テンプレート呼び出し元ユーザ作成ファイル
・テンプレートHTMLファイル HTML形式のファイルで、テンプレートとなります。

1、基本
作成ファイル
○test1.php
○test1.html
【test1.php】
<?php 
$val=array(
"data1"=>"data1_value", //テンプレート受け渡し変数を指定
"data2"=>"data2_value" //テンプレート受け渡し変数を指定
);

include_once("htmltemplate.inc"); //htmltemplate.incをインクルードします。
htmltemplate::t_include("test1.html",$val); //テンプレートの表示を行います。変数は、配列で受け渡しを行います。
?>

【test1.html】
Test1 Start<br><br>

{val data1}<br>
{val data2}

<br><br>End

【test1.phpの表示結果】
Test1 Start

data1_value
data2_value

End

【解説】
テンプレートに変数で渡した値が、変換されています。

2、繰り返し表示1
作成ファイル
○test2.php
○test2.html
【test2.php】
<?php 
$val=array(
"data"=>array(
"child_a",
"child_b",
"child_c"
)
);

include_once("htmltemplate.inc");
htmltemplate::t_include("test2.html",$val);
?>

【test2.html】
Test2 Start<br><br>

<!--{each data}-->
{val data}<br>
<!--{/each}-->

<br><br>End


【test2.phpの表示結果】
Test2 Start

child_a
child_b
child_c


End

【解説】
テンプレートの<!--{each data}-->と<!--{/each}-->に囲まれた部分が、配列に指定した回数だけ、繰り返し表示が行われています。

3、繰り返し表示2
作成ファイル
○test3.php
○test3.html
【test3.php】
<?php 
$val=array(
"data"=>array(
array(
"child1"=>"child1_data1",
"child2"=>"child1_data1"
),
array(
"child1"=>"child1_data2",
"child2"=>"child1_data2"
)
)
);

include_once("htmltemplate.inc");
htmltemplate::t_include("test3.html",$val);
?>

【test3.html】
Test3 Start<br><br>

<!--{each data}-->
<br>
{val data/child1}<br>
{val data/child2}<br>
<!--{/each}-->

<br><br>End

【test3.phpの表示結果】
Test3 Start


child1_data1
child1_data1

child1_data2
child1_data2


End

【解説】
配列を上手に使うことで、複雑な繰り返しの表示が可能になります。

以上が利用方法です。
その他に、テンプレートファイルの書式として、以下があるみたいです。

<!--{comment}-->と<!--{/comment}-->に囲まれた部分がコメントになるようです。

<!--{def data}-->と<!--{/def}-->に囲まれた部分の表示に関して、dataという変数が名前に登録されている場合は、表示するというテンプレートの書式があるみたいです。
(dataの変数が定義されているかの判定に関しては、test2.phpやtest3.phpで作成した、childの階層だと定義されていても定義されていないのと同様の動作をします。つまり、未サポート)
スポンサーサイト
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://system4zphoto.blog78.fc2.com/tb.php/8-623baed2

0件のトラックバック

1件のコメント

[C2] htmltemplateはすばらしいです

htmltemplateのヘビーユーザです。
もっと多く紹介されても良いものだと思うのですが、情報が少ないですね。
もっと広めたいですが、肝心の鮎川氏があまり表に出てこられないのが残念です。
突然、失礼いたしました。

コメントの投稿

投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。