美麗PHPテンプレートエンジン:PHPTAL

PHP, フレームワーク, cakePHP, Symfony, テンプレートエンジン, PHPTAL, CodeIgniter

08:51:27, by dozo Email , 100 words, 5544 views   Japanese (JP) del.icio.us

Flexyも卒業かな。

(ノ・・)ン。。。。。。(((●コロコロッ

DB不要のツールを一つ作ろうと作業開始。
当初codeigniterで作ってたのだが、
機能不足は否めず、
他のフレームワークを利用することに。
そこで、Ruby on Railsライクのフレームワークをあれこれ触ってみた。

cakePHP触ってみると、
単にRuby on Railsを真似ただけの印象。
機能不足な上、DBが無いと身動きできない。
ツカエネ。終了。
Symfonyを触ってみると、
これはなかなか良いかもという印象。
しばらく四苦八苦しながらも比較的簡単にAJAXアプリが完成した。

(・∀・)symfonyデイコウ

ここに。
内容を書き出してみた。



さて、そのsymfonyのビューシステムなのだが、
デフォルトではPHPそのものを使用している。
実装は楽かもしれないが、
出来上がったテンプレートが全く読めない。
構築している最中は覚えているから良いのだが、
翌日見ると全然わからなくなっている。

(・ω・) テンプレートエンジンツカオ

テンプレートエンジンといえばHTML_Template_FlexyHTML_Template_ITですが、
Smarty?なにそれ?
最近のフレームワークのビューシステムとして利用するには、
ちょっと機能過多状態。
特にHTML_Template_Flexyはフレームワークのバリデータ機能と内容が被り、
利点を全く活かせない。

( ̄-  ̄ ) ホカニイイノハナイノ?


少し探してみると、
面白いものにあたった。
それは


[More:]


PHPTALとは?
PHP5用のテンプレートエンジン
Zope Page TemplatesのPHP版。
テンプレートの属性上に制御記述をするのでテンプレートのHTMLが崩れない。


サンプルを見ると確かにすべて属性値に格納されている。
<div id="item" tal:repeat="value values">
<div id="item">
<span tal:condition="value/hasDate" tal:replace="value/getDate"/>
<a tal:attributes="href value/getUrl" tal:content="value/getTitle"/>
</div>
<div id="content" tal:content="value/getContent"/>
</div>


(・υ・)``ホォー

ちょっとまとめてみた。(現在進行中)


これはなかなか良いかも。
フレームワーク利用の場合はこれを使うことにしよう。
SymfonyのビューでPHPTALを使うプラグインをディノの人が作っていたが、
全く役に立たないので自前で作ることにした。


*注意点
Domを使う仕様上、UTF-8オンリー。
他の文字コードの場合は
prefilterやpostfileterを駆使することになるかもしれない。
Domを使う仕様上、テンプレートは完璧なXMLでなければならない。
入れ子になっていないかキチンとチェックしてから使用する必要がある。


Trackback address for this post:

http://hain.jp/htsrv/trackback.php/158

Comments, Trackbacks:

Comment from: okbo [Visitor]
こんにちは。PHPTALを調べていたらこちらにたどり着きました。
PHPTALの情報自体が少ないのでとても参考になりました。ありがとうございました。

ひとつ気になった点があるのでご報告します。
http://phptal.jpod.jp/syntax
をfirefoxでみてみたのですが、CSSが効いていないようでした。
Content-Typeがtext/htmlで返ってきているようです。

ちなみに、http://dozo.matrix.jp/framework/symfony
のほうはCSS効いていました。
PermalinkPermalink 2008/01/16 @ 15:28
Comment from: admin [Member]
これは実は悩みの種でして、
DokuwikiのCSSキャッシュの仕組みが悪さして、
CSSが利いたり、利かなかったりします。
いろいろハックして調整はしているのですが、
動いたり動かなかったりと不安定な状況が続いています。

FFでは閲覧すると落ちることもあり、
調整は難航しております。
うまくいくように調整していきますので、
長い目で見て頂けるとありがたいです。
PermalinkPermalink 2008/01/30 @ 17:17

Leave a comment:

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))
This is a captcha-picture. It is used to prevent mass-access by robots.

Please enter the characters from the image above. (case insensitive)

powered by b2evolution

shinobi

Neighbors
Relative
Favorites
PR

極論istの技術屋を始めて早幾年。 流れの速い業界の波にもまれながらも精一杯生きている様をとくとごらんあれ。

Archives
スポンサー

Latest bookmark
Search

Categories

Who's Online?
Misc
Syndicate this blog XML

Valid XHTML 1.0! Valid CSS! Valid RSS 2.0! Valid Atom 1.0!