とりあえずつかってみよう
条件分岐 Flexy:if
ループ Flexy:foreach
modifiler :h :u :r :n :b?
コンパイラ Flexy, Standard, Regex, SmartyConvertor?
Formタグ内エレメント解析 getElements?
ヘッダー、フッター別テンプレート挿入 Flexy:include
WYSIWYG維持 Flexy:start, Flexy:startchildren
タグ動的変更 Flexy:dynamic?
多言語対応 locate?
拡張plugin Flexy:plugin
mojavi FlexyRenderer
Ethna Flexy API
mixiコミュニティーはこちら
http://mixi.jp/view_community.pl?id=401703

私はPHPプログラマをここn年やっているが、
テンプレートエンジンをどれにするか毎回悩む。
テンプレートエンジンとはPHPプログラムとHTMLソースを分ける目的で使われるシステム。
これを使うことでメンテナンス性が向上する。
さらにPHPの知識がなくてもHTMLファイルを作成・修正が容易になる。
主なエンジンは
などなど。
中には自前で設計している人もいる。
(ノ・・)ン。。。。。。(((●コロコロッ
PEAR::HTML_Template_Flexyとは後発のテンプレートエンジン。
PEAR::HTML_Template_Xipeを拡張・改良する目的で作られたのですが、
いつしか独自路線を突っ走るようになりました。
作者であるAlan Knowles氏はPEARライブラリを多数供給してくださっているかたで、
これ以外にはPEAR::DB_DataObjectなどを作ってらっしゃいます。
特徴は
●テンプレートがHTML,XMLに従ったものになる
WYSIWYG なエディタ HTML エディタを使って
テンプレートを編集してもタグが壊れません。
DreamweaverやMozilla editorで見ても綺麗に表示されます。
●習得が容易
覚えることはあまり無いです。
●エレメントの制御が充実
プログラム側からテンプレート内のformタグのエレメント
(input, select, textarea)が制御できます。
●オブジェクト指向
Smartyのなんちゃってオブジェクト指向とは違います。
assign, assign_by_refは不要(^_^)
●高速動作
Smarty、HTML_Template_ITよりも高速に動作するそうです。
‥‥これには異議を唱えたい。。。
Smarty同様オプティマイザは必須です。
●高い安全性
デフォルト出力がhtml_specialcharsを付け加えた状態なので、
意図的に出力を変えない限りクロスサイトスクリプトなどの心配はありません。
|escapeなど不要。
●多言語対応
プログラミング言語じゃないですよ。
(;^_^A アセアセ…
パラメータを一つ制御するだけで、
多言語に対応できます。
(デフォルトは英語。)
●Smartyコンパイラ
使うことはないですが、
Smartyのテンプレートはそのまま利用できます。
●Smarty互換API
Smartyを使う前提で動いているシステムにFlexyを導入することが出来ます。
mojaviやEthna用のAPIはこれでつくると簡単です。
![[PukiWiki] [PukiWiki]](/pear/image/pukiwiki.png)