Flexyでフレキシブルなビューヘルパーを
PEAR::HTML_Template_Flexyをいじっていたのですが、
PEAR::HTML_Template_Flexy with Zend_View に関するメモ - noopな日々
phpLex.exeのコンパイル(64bit版vistaの場合) - noopな日々
その勢い余って、PEARから分離して独立したライブラリにしてみました。PEAR依存のコードがいらなかったことと、この先、独自路線でテンプレートエンジンを調整していきたかったためです。
http://github.com/noopable/Fly
主な変更点は
- PHP5のE_STRICTでもエラーを吐かないこと(PHP4では動きません!)
- メソッドチェーンを解釈可能に (Zend_View向け対策)
- PEAR本体から切り離す
- いくつかのバグフィックスと最適化
などなどです。
PEARから切り離してPHP5対応したことで、include_pathが通っているところに置いて使います。pear自体は便利ですが、今はpear2待ち?な感じがしたので、今回は思い切って分離してみました。
ライブラリとして依存関係を切ってあるので、他のライブラリに組み込んで使うことを前提としています。ライセンスはPHP Licenseで元のライセンスを継承しています。
まだまだ手を入れたいところがあって
- DreamWeaverのテンプレートやライブラリに対応する。現在はTokenizerのみ調整済み
- テンプレートのextends機能の強化
- テンプレートとWYSIWYGとの連携
- 現在はコンパイル=>ファイルの保存がセットだが、コンパイルのみ、保存のみを可能にするようにする。
- コードの最適化とtest
ただ、もろもろ他に進めたいことがあるので一通り動いている段階で中断して、Zend_Viewのヘルパーでこれを使えるようにしようかと思っています。
Zend_Viewと連携させるのに適したテンプレートエンジンをあさっていて、もともとはPHPTALにしようと思っていたのですが、ライセンス的にどうなんだろうと。Zend FrameworkはNew BSD License、PHPTALはLGPLです。PHPTALを組み込んでZend_Viewのエンジンを書いても問題ないはずですが、突っ込みが入るとちと面倒な感じがします。
HTML_Template_FlexyはPHP Licenseです。オレオレのFly_FlexyはHTML_Template_Flexyをベースにしているので、当然PHP Licenseなので、ZFでFlexyを使うビューヘルパーを公開しても問題ないだろうと思います。