簡易テンプレートエンジン

本サイトに使用しているテンプレートエンジンです。

コンセプト

ウェブサイト作りをすると、がっつり人気のテンプレートエンジンを使うか悩むのですが、 結局使いたい機能って、SSIのようなテキスト置き換えくらいだったりするので、最小限の 機能のテンプレートエンジンを作ろうかなと。

出来ること

  • キーワードを定文に置き換える
  • キーワードをテキストファイル内容に置き換える
  • キーワードをPHP出力に置き換える

ダウンロード

ライセンス:GPLライセンス
実行環境:PHP5.3.3で動作確認

使い方

テンプレートエンジンは1ファイルです。
各ページの呼び出しに必要な基本ファイルは3種類あります。
  ・呼び出しファイル(PHPファイル)
  ・設定ファイル(テキストファイル)
  ・テンプレートファイル(HTMLファイル)

呼び出しファイルの記述

ページ表示の際、読み込まれるPHPファイルです。記述は2行程度。
行うことは、テンプレートエンジンの読み込みと、設定ファイル・テンプレートファイルの パスを指定して、メイン関数を実行させるのみ。

<?php
include("tmpl_engine.php");
tmpl_view("page_index.html","toppage.conf");
?>

tmpl_view関数は、第1引数にHTMLテンプレートのパス、第2引数に設定ファイルのパスを指定します。
tmpl_view(TEMPLATE_PATH,SETTING_FILE_PATH)

ファイルの読み込み場所は、実行ファイルのあるディレクトリからの相対パス、 ドメイン直下のディレクトリからの相対パス、tmpl_engine.phpのあるディレクトリからの相対パス、 の順にファイルを検索します。

設定ファイルの記述

設定ファイルでは、テンプレートで置換するキーワードと定文を記入します。

title =  "TibLab | デジタル コンテンツ ラボラトリー"
content = content.html
pagemap = pagemap.php

置換する定文がファイル名である場合(その名前のファイルが存在する場合)、 ファイル内容(テキスト)を読み込みます。

パスは、実行ファイルのあるディレクトリ、ドメイン直下のディレクトリ、 エンジンファイルのディレクトリ、を順に検索します。

拡張子で処理を分岐させています。
現在、特殊処理しているのは、phpとpostで、phpでは、phpファイルの出力結果を読み込み、 postでは、POSTとして送信されたデータを読み込みます。

デフォルト設定ファイル

設定ファイルは、先ににデフォルト設定ファイルを読み込み、その後、各ページの設定ファイルを 読み込み、同じ項目は上書きされます。 共通する項目は、デフォルト設定ファイルに記述しておくと便利。

テンプレートファイルの記述

キーワードは下記のように記述します。

<%keyword%>
ページトップへ