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にちょっとしたロジックは書けるので柔軟。
<html>
<head></head>
<body>
{# コメント: nameという変数の値を描画 #}
{{ name }}<br>
{# コメント: listという配列変数の中身を順に描画 #}
{% for item in list %}
{{ item }}<br>
{% endfor %}
</body>
</html>
<?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