PHPのテンプレートエンジンの選択ポイント簡単解説

50種類以上のIT教材を無料で使える!
0円から学習できるオンラインITスクール「侍テラコヤ」
→さっそく登録する

こんにちは!独学プログラマー&ライターのつぶらやです。

PHPの開発で、機能を記述する部分と画面の表示部分は分けて作られる事もあります。

分割する方法として

フレームワークを使用する
テンプレートエンジンを使用する
自作のテンプレートを使用する

などの方法があります。

今回はテンプレートエンジンを使用する方法と自作する方法について、以下の内容でお話したいと思います。

テンプレートエンジンとは
おすすめテンプレートエンジンと種類(サンプルコードつき)
テンプレートエンジンを自作する方法

テンプレートエンジン選びを迷っている方も是非参考にしてください。

テンプレートエンジンとは

PHPの便利なツールで、機能を記述する部分と画面の表示部分を分割する事が出来ます。

使う理由

プログラマーが機能部分のファイルを作り、コーダーが画面部分を作る場合などに別ファイルで開発する事が可能です。

また、コーダーにプログラム知識がなくても実装出来るようになっているものがほとんどです。

選択時に注意する事

選択時の注意点としては、

開発環境に対応しているか
開発が止まっていないか

のような事に注意してください。

開発環境が特定のフレームワークに限られるテンプレートエンジンもあります。

また開発が止まっているものは、不具合が今後対応される可能性がない事を意味します。

※こちらで紹介するテンプレートエンジンは現時点(2018年9月)では開発は止まっていません。

使用するテンプレートエンジンを決める時には、十分注意してください。


【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

テンプレートエンジンの種類

PHPのテンプレートエンジンには沢山の種類があります。

それぞれ特徴を見ていきましょう。

テンプレートエンジンの種類

名称フレームワーク新しさ変数の表示記述
smartyPHPならなんでもかなり昔からある{$smarty}
Twigsymfonyだが他のフレームワークでも使用可割と古い{{twig}}
Blade Laravel 結構最近{{$blade}}

他にも存在しますが、有名な3つを上げています。

フレームワークがsymfonyならtwig、フレームワークがLaravelならBladeを使用するのが良いでしょう。

サンプルコードの紹介(smarty)

ここで、テンプレートエンジンの使用をイメージしやすくするためにサンプルコードを紹介します。

今回はフレームワークに依存しないsmartyで書いたコードを掲載します。

詳しいsmartyの使用方法は公式サイトや、ネットで検索してください。

smarty_test.php
<?php
require_once 'Smarty/Smarty.class.php';
$tpl = new Smarty;
$tpl->template_dir = './templates/';
$tpl->compile_dir = './templates_c';

$tpl->assign("title", "侍エンジニア"); // tpl側の変数に値を代入

$tpl->display("smarty_test.tpl"); // 呼び出すtplを指定

?>
smarty_test.tpl
<h2>{$title}</h2>
結果
侍エンジニア
機能の記述をsmarty_test.php側で行い、表示の命令はsmarty_test.tpl側で行います。

他のテンプレートエンジンでも同じような仕組みになっています。

テンプレートエンジンを自作する方法

テンプレートエンジンを使用したくないが、機能と表示の記述を分けたい場合もあるかと思います。

そういう方には自作する方法もあります。

表示のためのHTMLのテンプレートと機能のためのPHPファイルに分けて作ります。

詳しく知りたい方は以下も参考にしてください。

PHPのテンプレートって何で作る?まとめて覚えて開発効率アップ
更新日:2023年3月21日

【何から学べばいいかわからない…そんな悩みを解決します!】

完全無料ですぐわかる「プログラミング学習プラン診断」

・適性にあわせて学習プランを診断
・完全無料で気軽に診断できる
・学習の悩みもまるっと解決

さっそく診断してみる

まとめ

本日はPHPのテンプレートエンジンについてお話しました。

色んなテンプレートエンジンがありますので、何が違うのかをよく検討してから使用しましょう。

場合によってはテンプレートを一切使用せずにPHPファイル1つで開発した方が効率がよいという場合もあるかもしれませんね。

それでは、また。

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

独学PG&SE、東京在住30代女性。
誰でもプログラマーになれるがモットーで、わかりやすい記事を目指しています。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close