CakePHPからtwigを使うためにTwigViewというプラグインがあります。
predominant/TwigView · GitHub
https://github.com/predominant/TwigView
とりあえずTwigViewインストール方法まとめ
TwigView自体はgitでsubmoduleとして組み込むのが良いと思います。
> git submodule add git://github.com/predominant/TwigView.git app/Plugin/TwigView > cd app/Plugin/TwigView > git submodule update --init
app/Config/core.php にTwigViewのキャッシュファイル保持位置の設定追加
define('TWIG_VIEW_CACHE', APP . 'tmp');
app/Config/bootstrap.php にプラグインの読み込み設定を追加
CakePlugin::loadAll();
app/Controll/AppController.php にTwigViewを組み込む設定追加
class AppController extends Controller { public $viewClass = 'TwigView.Twig'; }
これでとりあえず使えるようになりました。
…が、普通にテンプレートは動いたのですが、FormヘルパーやHtmlヘルパーを使おうとすると動いてくれない、という問題が起きました。
それで調べてみたところ、FormヘルパーやHtmlヘルパーは標準だと自動で読み込んで使ってくれるのですが、TwigViewの場合だとそうならないため、現在のところ明示的にヘルパーの指定をしてやる必要があるようです。
Lazy loading of Helpers · Issue #13 · predominant/TwigView · GitHub
なので、必要に応じてコントローラー内で下記のようにヘルパー指定を追加してやります。
public $helpers = array('Html', 'Form');
が、先日TwigView作者のpredominantさんから反応があって
There is a way to fix this. Tinkering at the moment.
と書かれているため、近いうちに対応がされるのではないかと期待しています。
(関連)
CakePHPでTwigView使う時flashが表示されない問題 - モーグルとカバとパウダーの日記
http://d.hatena.ne.jp/stealthinu/20130627/p1