コンセプト
ウェブサイト作りをすると、がっつり人気のテンプレートエンジンを使うか悩むのですが、 結局使いたい機能って、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%>