PHP用テンプレートエンジン。
PHPテンプレートエンジンを使おう Twig編 | AkisiのWEB制作日記
以下、個人的な評価点。
echo
でHTMLを出力するのは見にくいPHP 7.x を使うならTwig 2.xが使える。まだPHP 5.x を使っているならTwig 1.xを選択する。
Composerで提供されているので素直にそちらを使う。
> composer require "twig/twig:^2.0"
まず必要なファイルは、以下の2つである。
MVCモデルのVとMCを適度にゆるい感じで分離できるが、ガチガチでは無く、必要ならVにちょっとしたロジックは書けるので柔軟。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
< html > < head ></ head > < body > {# コメント: nameという変数の値を描画 #} {{ name }}< br > {# コメント: listという配列変数の中身を順に描画 #} {% for item in list %} {{ item }}< br > {% endfor %} </ body > </ html > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php require_once '/path/to/vendor/autoload.php' ; // テンプレートのパス設定 $loader = new Twig_Loader_Filesystem( '/path/to/templates' ); $twig = new Twig_Environment( $loader , [ 'cache' => '/path/to/compilation_cache' ]); // 埋め込む変数 $values = [ 'name' => 'Taro' , 'list' => [ 'zero' , 'one' , 'two' , 'three' ], ]; // レンダリング echo $twig ->render( 'index.twig' , $values ); |
Taro zero one two three