TwigはPHP向けの柔軟で高速かつ安全なテンプレートエンジンです。SensioLabsによってフレームワーク『Symfony』のプロジェクトとして開発されました。この記事ではTwigを理解するために初心者でも分かる歴史、特徴、基礎知識について簡単に解説していきます。
Twigとは主にPHPで使用されるテンプレートエンジンです。Twngはセキュリティ対策やデバッグがしやすいと人気を集めております。Twigの構文はPython向けWebアプリケーションフレームワーク『Django』と近しいものです。Twigを利用することでHTMLにPHPを直接書き込むよりも、短くコーディングすることができ、よりテンプレートが読みやすい記述になります。
『Symfony』フレームワークでは デフォルトのテンプレートエンジンとして採用されております。Twigの特徴として『セキュリティが高い』『処理速度が早い』『柔軟性が高い』などが挙げられます。
PHPとはラスマス・ラードフ氏によって1995年に開発されたオープンソースのサーバーサイド言語です。動的なWebページを生成することができるプログラミング言語として全世界で親しまれております。HTMLに埋め込むことが出来ることからWebシステム開発で使用される機会が多いです。特徴は『動作確認が簡単であること』や『HTMLの中で簡単にコードを動かせる』といったことが挙げられます。
またPHPはインタプリタ言語ですのでプログラムを実行する際にコンパイルが不要でソースコードの修正をした場合、即座に修正が反映されます。Webサービスを開発するプログラミング言語としてPHPは世界的にトップクラスの人気を集めております。
テンプレートエンジンとはテンプレートとなる部分とデータモデルで表現される入力データを合成し、成果ドキュメントを出力するソフトウェアです。テンプレートエンジンの主な構成要素として『データモデル』『ソーステンプレート』『成果ドキュメント』が挙げられます。
テンプレートエンジンの役割や種類などについて解説された記事はこちら>>
SymfonyとはPHPに活用される『Sensio Labs』によって開発されたオープンソースWebアプリケーションフレームワークです。2007年1月に誕生しWebアプリケーションの開発速度の向上とメンテナンス量の軽減を目的に作成されました。特徴としては目的の通り、開発効率が高く、セキュリティの設定も最小限に済むなどが挙げられ世界的にも注目を集めているフレームワークです。
Symfonyの歴史や特徴などについて解説された記事はこちら>>
Twigの読み方は『ツイッグ』です。
Twigは2009年にSensioLabsによって開発されました。初版はアーミン・ロンチャー氏によって開発され、その構文はPython向けWebアプリケーションフレームワーク『Django』を参考にしていると言われております。またBSDライセンスの下でライセンスされ、ファビアン・ポテンシエ氏によって保守されているオープンソース製品となっております。Twigは登場依頼度重なるアップデートを繰り返し2019年11月には現在の最新となる3系『Twig 3.0.0』へのバージョンアップが発表されました。簡単にバージョンアップを以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2010年9月 | 『Echo v0.0.11リリース』 |
2010年9月 | 『Twig v0.9.0リリース』 |
2011年4月 | 『Twig v1.0.0リリース』 |
2012年1月 | 『Twig v1.5.0リリース』 |
2012年9月 | 『Twig v1.10.0リリース』 |
2013年12月 | 『Twig v1.15.0リリース』 |
2015年8月 | 『Twig v1.20.0リリース』 |
2016年12月 | 『Twig v1.30.0リリース』 |
2017年1月 | 『Twig v2.0.0リリース』 |
2018年7月 | 『Twig v2.5.0リリース』 |
2019年11月 | 『Twig v3.0.0リリース』 |
2021年2月 | 『Twig v3.3.0リリース』 |
Twigの特徴を見ていきましょう。
Twigはセキュリティが高いという特徴があります。テンプレートコードを独自に信頼性を評価するためのサンドボックスモードが搭載されています。
Twigは処理速度が早いという特徴があります。コンパイル方式を採用しているため最初のリクエストが来た際の実行のみとなり処理効率が高いです。通常のPHPコードと比較して、オーバーヘッドは最小限に抑えられております。
Twigは柔軟性が高いという特徴があります。柔軟な「lexer(字句解析)」と「parser(構文解析)」を搭載していることから開発者は独自のカスタムタグとフィルターを定義し、独自のDSLを作成することができます。
Twig以外の代表的なPHP環境向けテンプレートエンジンを見ていきましょう。
Smartyとは主にPHPで使用されるテンプレートエンジンです。Smartyを利用することでプログラム(ロジック)と画面(デザイン)を分離して管理することができます。2001年に誕生し、数あるテンプレートの中でも一番長い歴史を持っております。そのため多くの開発実績があり、日本においてもドキュメントが揃っていることから重宝されております。Smartyは画面を表示する前にコンパイルキャッシュを行い、表示を高速化させることができます。特徴として『プログラムとデザインを分けられる』『処理速度が早い』『拡張性が高い』などが挙げられます。
Smartyの公式サイトはこちら>>
Smartyの歴史や特徴などの基礎知識について解説された記事はこちら>>
BladeとはPHP向けWebフレームワークLaravelのために作られたテンプレートエンジンです。主に見た目の部分を作成するにあたって手助けをしてくれる機能を搭載しております。そしてBladeはクラスのように階層化されております。
Bladeの公式サイトはこちら>>
dwooとはPHP用のモダンで柔軟なテンプレートエンジンです。主にPHP5およびPHP7で動作します。Smartyと互換性があり、PHP5版のSmartyとも呼ばれております。特徴として『テンプレートの継承』『プラグインで柔軟』『シンタックスシュガー』などが挙げられます。
dwooの公式サイトはこちら>>
Skinnyとは日本発のPHP用テンプレートエンジンです。小規模な開発に向いておりシンプルであることが特徴です。開発現場で使われない機能は極力省き、使用頻度の高い機能に的を絞って開発されています。
Skinnyの公式サイトはこちら>>
Twigを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Twigを一言で表すと『PHP向け柔軟で高速かつ安全なテンプレートエンジン』です。特徴として『セキュリティが高い』『処理速度が速い』『柔軟性が高い』などの特徴が挙げられます。Twigについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。