Lesson31 実習4

function.php

<?php
//デザインテンプレートの繰り返し処理記述{foreach}を処理するPG
function _get_foreach($data,$tpl)
{$if='_get_if'; //記述子{if}判定の置換
foreach ($data as $v)
{extract($v);
//$tplに含まれる{foreach}記述子がPHP記述で置換

eval("@\$html.=<<<DOC\r\n{$tpl}\r\nDOC;\r\n");
}
return $html;
}

//デザインテンプレートの簡単なif文(yes/no)レベルの分岐処理{if}の置換

function _get_if($case,$yes,$no)
{return $case?$yes:$no;
}

//テンプレート読み出しプログラム
function get_template($data,$tpl)
//テンプレートの記述を置換するエントリー以下3行までが記述子。
{$get_template='get_template';

$foreach='_get_foreach';
$if='_get_if';
//$dataに含まれる配列データをシンボル変数に置き換える。テンプレートの該当記述子も置換
extract($data);
//テンプレートを$tpl変数へロード
$tpl=file_get_contents($tpl);

//テンプレートのファイルは記述子がPHP記述で置き換えられたのでそれを実行しHTML出力する
eval("\$html=<<<DOC\r\n{$tpl}\r\nDOC;\r\n");
return $html;
}
?>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

*