スライドショー

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

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

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

分割する方法として

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

などの方法があります。

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

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

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

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

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

使う理由

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

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

選択時に注意する事

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

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

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

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

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

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

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

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

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のテンプレートって何で作る?まとめて覚えて開発効率アップ
更新日 : 2018年9月24日

まとめ

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

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

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

それでは、また。

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

つぶらや

つぶらや

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

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説