【PHP日記】

自分の知識不足を悟った末、なるべく1日一回、Webに関する知識を書いていくだけのブログ。

テンプレートエンジンとは(twig) 【21日目】

「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/