「twig」を使う機会があったので、ついでにPHPにおけるテンプレートエンジンの情報もまとめました。
概要
テンプレートエンジンとは、処理内容(PHP)と表示内容(HTMLとCSS)を分けて管理できるようにするためのツールです。
この分離により、スクリプト処理を書く『プログラマー』はPHPファイルを担当し、『デザイナー』はHTMLとCSS部分を担当するように、作業者によってファイルを分担することができます。
使用方法
基本的には、テンプレートファイルの中にプレースホルダー(PHPを実行するための特殊なマークアップ)を記述し、実行時にこれらのプレースホルダーを"動的なデータ"に差し替えてから、最終的なHTML文書などを生成します。
例えば、データベースから取得したデータをWebページに表示する場合、『.html.twig』内のデータを表示する位置にプレースホルダーが記述することで、実行時にはデータベースのデータに置き換えられます。
テンプレートエンジンの種類
PHPのテンプレートエンジンはいくつかあります。基本は使用するフレームワークで選ぶことになりますが、ここでは人気のあるテンプレートエンジンと簡単な特徴を紹介します。
twig
twigは、PHPで人気のあるテンプレートエンジンの一つです。『Symfony』フレームワークにおいて標準的に使用されていますが、他のPHPプロジェクトでも簡単に利用できます。
Smarty
長年にわたり使用されている成熟したテンプレートエンジンで、既存のプロジェクトやレガシーシステムでよく見られます。
参考文献もたくさんあるため、幅広いPHPプロジェクトで使用できるテンプレートエンジンの一つです。
Blade
『Laravel』のデフォルトテンプレートエンジンです。
PHPコードを直接テンプレート内に埋め込むことができ、<?php ?>
構文でもとのPHPを呼び出せるのでかなり柔軟に開発が可能です。
以上です。
参考文献
https://www.fenet.jp/dotnet/column/language/7696/