Smarty(テンプレートエンジン) ~インストール編~ 第1回

この記事は2014年1月23日に書かれたものです。内容が古い可能性がありますのでご注意ください。


Smartyのインストール

 

Smartyとは

 
Smartyは、PHP用のテンプレートエンジンを指します。
これを利用すると、ロジックとデザインを分離して管理することができます。
 
一つのPHPファイルにロジックとデザインの両方を書いて作成することも可能ですが、分離することでプログラムの見通しが良くなります。また、プログラマーとデザイナーの分業など、複数の人が制作に関わる場合、特に威力を発揮します。
 

Smartyの特徴

 
Smartyの特徴として以下のような点が上げられます。
 
①{}を用いた記法
HTML中に埋め込む変数やループ、条件分岐などの制御構造などを記述するのに{}を用います。
例えば、{$var} と記述すると変数 $var の値が記述した箇所に表示されます。
if文の記述は {if $var eq ‘abc’}…{else}…{/if} のようになります。また、コメントも {* … *} のように、{} にアスタリスク(*)をつけたもので囲むことによって記述することが可能となっています。
 
②修飾子
Smartyでは、変数をそのまま表示することはもちろん可能ですが、Webサイトを作成していると、与えられた変数の値をちょっと加工して出力したいという場面が出てきます。
例えば、日付データの表示フォーマットを変えたりとか、アルファベットを全て大文字に変えるなど、サイトの内容によっては必要になるかもしれません。また、ユーザーからの入力をそのまま表示すると、クロスサイトスクリプティングなどセキュリティ上問題が発生する場合があるため、それを防ぐためにユーザーからの入力値をエスケープする対策が必要になります。そのような処理を「修飾子」を用いることで簡単に記述することが出来ます。
 

{* $title変数を大文字に変換する修飾子の例 *}
<title>{$title|upper}</title>

 

Smartyのダウンロード

 
Smartyのソースコードをダウンロード作業を行います。
①「/usr/local/src/」ディレクトリに移動し、Smartyをダウンロードします。ダウンロードは、下記のURLから開始します。
 
本家サイト

1

コマンドで実行した場合には、次のようになります。

# cd /usr/local/src/
# wget http://www.smarty.net/files/Smarty-3.1.13.tar.gz

 

Smartyのインストール

 
Smartyのインストール作業を行います。
①ダウンロードしたSmartyを解凍します。

# tar xfz Smarty-3.1.13.tar.gz

 
②解凍したディレクトリの中の「libs」を「/usr/local/lib/php/」配下に配置します。

# mv Smarty-3.1.13/libs /usr/local/lib/php/Smarty

 
③「/usr/local/apache2/htdocs/」配下に「test_smarty.php」ファイルを作成し、次の内容を追記して、動作確認してください。画面に何も表示されなかった人は、インストール成功です。

# cd /usr/local/apache2/htdocs/
# vi test_smarty.php

 
・phpファイルの内容。

<?
ini_set('display_errors',1);
define('SMARTY_DIR', 'Smarty/');
require_once(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty();

 
ブラウザで確認してみて、画面に何も表示されなければ、成功です。

1

もし、正常に動作しなければ、php.iniの設定ファイルなどを確認してください。
 

次回は、「Smartyを使ったアプリケーション用のディレクトリ構成の作成」などについて説明していきます。

 

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

PAGE TOP