こんにちは。
突然ですが、FuelPHPのビューを書く場合、デフォルトでは生PHP + Viewクラスの構成だと思います。
Viewクラス自体がエスケープ機構を備えているのでXSSは塞げるんですが、生のPHPで書くとisset地獄だったりifが増えたりと不便なところが多く、テンプレートエンジン使いたいと思うことが多々あります。
そんなFuelPHPにはparserというパッケージがあるので、設定を変更すればテンプレートエンジンが簡単に利用できます。
が、しかし 対応しているテンプレートエンジンの一覧を見てみると、どれも古い。とにかく古い。
良く言えば枯れてるんですが、調べてみると メンテナンスされてないだろこれ… という感じのものが結構ありました。
ということで自分の知見をアップデートするため昨今のテンプレートエンジンについて調べつつ、
parserパッケージのように複数テンプレートエンジンを同一のインタフェースで扱える仕組みを作ってみました。
これらのテンプレートエンジンに対応しました。
色々と聞きなれない名前のテンプレートエンジンが多く見つかりました。
偶然見つけたPlatesに限らず、最近ライブラリを調べているとthephpleague
というお名前のブランドをよく見かけます。
それぞれいい感じのモジュール化されていて、ドキュメントも充実しており、高品質です。
とはいえ、これといって革新的なものはなかったので、個々のテンプレートエンジンについては触れません。
rush/php-view-strategiesという名前で公開しています。
説明や使い方などはREADMEを御覧下さい。
記事を執筆した時点では最低限の機能しか提供していないので、ご要望やご提案などあればIssueにお願いします。