• ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

ALAKI株式会社

COZIKEEいつまでも使えるTech情報発信ブログ

リクルートサイトはこちら >

PHPテンプレートエンジンのいろは

2016年6月10日

  • このエントリーをはてなブックマークに追加

こんばんは、Webプログラマの篠田です。

過ごしやすい時期が過ぎてしまい、PCと同じで暑さに弱い私にとっては辛い季節になっていきます。

さて、今回は初級PHPプログラマから中級PHPプログラマにクラスチェンジするために必要となるだろう「PHPテンプレートエンジン」についてお話したいと思います。

具体的なテンプレートエンジンの使い方のご紹介は次回以降にちょこちょこ出していきたいと思います。

この記事の目次

  • 1 PHPテンプレートエンジンとは
  • 2 どんなものがあるの?
  • 3 テンプレートエンジンの勉強方法
  • 4 まとめ

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

PHPの本を買って読むと「PHPはHTMLと親和性の高いスクリプト言語です」という謳い文句をよく目にします。

確かに下記のようなHTMLの中にPHPを書き加えることができます。

分かりやすいPHP初歩の書き方
PHP
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>
<html lang="ja">
<head>
<title>分かりやすいPHP初歩の書き方</title>
<meta charset="utf-8">
</head>
<body>
こんにちは、<?php echo "三石 琴乃"; ?>さん。
</body>
</html>

これはHTMLを知っている初級者であればすごく分かりやすい書き方だと思います。

ただし、この書き方ができるのは小規模な開発までが限界です。
この書き方で、中・大規模なシステムを作ると『確実』に保守・メンテナンスでプログラマがダークサイドに落ちてしまう確率が急上昇することでしょう。

問題はプログラムファイルの可読性が非常に低下するという点と、表示内容(View)と処理内容(Controller)が混在してプログラム自体が煩雑になリやすい点です。

そこで役に立つのが「テンプレートエンジン」と呼ばれる仕組みです。

「テンプレートエンジン」を利用することで、処理内容(これはだいたPHPの塊になります)と表示内容(これはHTML+CSSの塊)を分けて管理することができるようになります。

「分けることで管理するファイルが増えるのはちょっと。。。」と思われるかもしれませんが、PCサイトとスマホサイトを別々の見せ方をしたい時などは、「処理内容」が同じで「表示内容」が違うだけということがよくあります。
そういった時に同じような「処理内容」を書かなくていい(使い回しがきく)という利点もあります。

また、同じような「表示内容」もテンプレートの共通化をすることで無駄を減らすことができるようになります。
※設計をしっかり作らないと、無駄なテンプレートが大量発生してしまい後で悲しい気分になりますのでご注意下さい。

どんなものがあるの?

PHPで使われるテンプレートエンジンはたくさんありますが、その中でも有名どころを2つご紹介しておきましょう。

Smarty

 PHP4(確か?)なんていう今から考えるとはるか昔のバージョンあたりから使われるように(当時それぐらいしかPHPテンプレートエンジンがなかった)なった現役のテンプレートエンジンです。
 現在稼働している多くのシステムでも使われており情報も多いですが、バージョンを重ねるごとに廃れた書式なども多く、書かれている内容を素直に使うと「騙された!!」と叫ぶ頻度が比較的多くなるので、Google先生に質問するときは使っているバージョンをしっかり明記するようにしましょう。

twig

PHPのフレームワークである「symfony」の標準テンプレートエンジンです。
「symphony」以外でも使うことができるテンプレートエンジンで最近ではECサイト構築用プラットフォーム「EC-CUBE」の標準テンプレートエンジンとしても使われています。
※「EC-CUBE」は以前「Smarty」で構築していましたが「EC-CUBE3」からtwigを採用したようです。

その他にもフレームワークに依存したものや、国産のものなどいろいろとありますが、開発環境やプロジェクトにあった道具を使うと良いかと思います。

テンプレートエンジンの勉強方法

これは私も始めた頃に大変困った問題でした。

というのもPHPの本はいくらでもAmazonで売っているのですが、テンプレートエンジンに特化した本というのは、「Smarty」で3冊程度、「twig」に至っては専門書が0(2016.06.10時点)。
「Smarty」の本も最新で2014年と古いです。

なので、本で勉強するというのはほぼ諦めてもらい、Google先生に教えを請うのが正解ではありますが、バージョンによる書式の違いというのもありますので、記事の更新日には注意して下さい。

まとめ

テンプレートエンジンに興味が湧いてきましたか?
次回の私の回では「twig30分クッキング」と題しまして使い方をご紹介していきたいと思います。(予定)

  • ツイート
  • このエントリーをはてなブックマークに追加

You may also like...

  • a80f1d6c6827958816c7034215236676_m

    Webサイトを常時SSL化する4つのポイント

    24 10月, 2017

  • 068ebcafb2d7bde01bdb4b6e267788fa_s

    .gitignorがないのにファイルがコミットできないときの対処方法

    26 3月, 2018

  • 13993703_xxl

    twig30分クッキング-テンプレート(2)編-

    2 9月, 2016

プログラマー募集
  • Next story メディアで紹介されやすくするための、プレスリリース作成の4つのコツ
  • Previous story デザイナーのマウスがゲーミングマウスに変わったら何が変わるのか

弊社サービス

MONJI+ MUGHEN ALAKI クラウド型受発注システム さよなら過去のAR。WebARがイベント集客に革命を起こします。

運営会社

ALAKI株式会社 ALAKI株式会社採用サイト

人気の記事

  • alaki1462_A_businessman_who_works_logically_1da80a2e-c297-4911-bdd6-feba0ebf1357

    仕事術

    【書籍要約】数学的な仕事術大全

    4 11月, 2024

  • fv-main-img-min

    空間コンピューティング

    世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました

    22 6月, 2023

  • Virtual reality players isometric vector illustration. VR UI and navigation. Futuristic digital technology. Virtual screen. Mixed reality 3d concept. Person in VR headset. Web banner idea

    AR

    Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ

    6 6月, 2023

  • AWE

    未分類

    ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!

    26 5月, 2023

  • python-logo-master-v3-TM

    pyhotn / 業務効率化

    「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

    2 2月, 2023

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

アーカイブ

  • 2024年11月
  • 2023年6月
  • 2023年5月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年2月
  • 2021年12月
  • 2021年9月
  • 2021年7月
  • 2021年6月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年6月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年12月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年8月
  • 2017年7月
  • 2017年6月
  • 2017年4月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2013年10月
  • 2013年9月

Facebook

お問い合わせ

お問い合わせ

人気の記事

  • 【書籍要約】数学的な仕事術大全
  • 世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました
  • Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ
  • ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!
  • 「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

検索

ALAKI株式会社 © 2025. All Rights Reserved.