PHPのテンプレートエンジンSmarty
サイト構築 ECサイト構築 更新日:2021.10.22

ECサイトに便利なSmartyとは?PHPのテンプレートエンジンの簡単解説

PHPのテンプレートエンジンである「Smarty(スマーティ)」、その名前は耳にしたことがあっても、いまいちよく知らない、という方は少なくありません。

そこでここでは、ECサイトにおけるPHPのコーディングにお役立ちなSmartyに注目し、簡単にご説明します。

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

先述したように、「Smarty(スマーティ)」はPHPのテンプレートエンジンのひとつです。

PHPはWebサーバーで動作するスクリプト言語(記述が比較的容易で可読性が高い言語の総称)のひとつであり、HTMLファイルにプログラムを埋め込むことで、条件によってWebサイトのページの内容を変更したり、ページを生成したりすることができます。

そしてテンプレートエンジンとは、「データモデル」で表現される入力データと「ソーステンプレート」を合成し、「成果ドキュメント」(文字列)を作るソフトウェアを指します。

■データモデル:DBMS、XML、フラットファイルデータベース、スプレッドシート、など
■ソーステンプレート:既存のプログミング言語、特別なテンプレート言語、ホストアプリケーションの機能に規定されるもの、など
■成果ドキュメント:文書、Web ページ(HTML)、ソースコード、など

テンプレートエンジンは、「処理内容」と「表示内容」を分けて作成できる特徴があるため、デザイン変更に柔軟性があったり、管理しやすかったりといった利点があるのです。

Smartyの特徴 ※Smarty公式サイトより

・非常に高速
・下仕事は PHP パーサが行うので能率的
・コンパイルは一度だけ行われるので、テンプレートのパースによるオーバーヘッドが無い
・再コンパイル は変更があったテンプレートファイルのみで行うのでスマート
・簡単に独自の 関数 や 変数の修飾子 を作成できるので、テンプレート言語を強力に拡張することが可能
・テンプレートの {デリミタ} タグの記法を変更し、 {$foo}、{{$foo}}、 などを使用することが可能
・{if}..{elseif}..{else}..{/if} 構文は PHP パーサが処理するので、{if…} の条件式にはシンプルなものから複雑なものまで自由に指定可能
・sections や if’s などは無制限にネスト可能
・テンプレートファイル内に PHP コードを埋め込むことも可能。しかし、エンジン自体がカスタマイズできるので、これはおそらく不要 (そして非推奨)
・組み込みで キャッシュ機能 をサポート
・任意のテンプレートソース
・カスタムキャッシュハンドラ 関数
・プラグイン機構

■Smarty公式サイト:https://www.smarty.net/

Smartyの使用開始手順

①ダウンロード前に、、PHP 4.0.6 以降以降が動作できるWEBサーバーかチェックします。
②Smarty公式サイトから、ファイルをダウンロードします。
③ファイルを、適用したいPHPファイルに配置します。
④PHPプログラムからSmarty.class.php を読み込みます。

※Smarty のライブラリファイルを、ディストリビューションの /libs/ サブディレクトリにインストールしてください。これらの .php を編集してはいけません。これらはすべてのアプリケーションで共有するものであり、 Smarty を新しいバージョンにアップグレードする際にのみ更新します。

Smartyで効率的に作業を進めよう!

Smartyを使用すれば、WEBページの構築が速く行えるようになり、その後の管理業務も効率的に行えるようになります。

プラグイン機構もあるため、ご自身に合った方法で上手に活用することをおすすめします。

キーワード

登録されたキーワードはありません

Pocket

あわせて読みたい記事