我有一个类Tpl
来使用这个函数挂载模板(template.php)
function Set($var, $value){
$this->$var = $value;
}
调用函数的 php 文件,例如 (form.php):
$t->Set("lbAddress","Address");
以及带有标签的模板的 html 文件 (template.html)
<tr><td>[lbAdress]</td></tr>
要打印 html 我有这个函数 (template.php) - 通知指向这个函数
function Show_Temp($ident = ""){
// create array
$arr = file($this->file);
if( $ident == "" ){
$c = 0;
$len = count($arr);
while( $c < $len ){
$temp = str_replace("[", "$" . "this->", $arr[$c]);
$temp = str_replace("]", "", $temp);
$temp = addslashes($temp);
eval("\$x = \"$temp\";");
echo $x;
$c++;
}
} else {
$c = 0;
$len = count($arr);
$tag = "*=> " . $ident;
while( $c < $len ){
if( trim($arr[$c]) == $tag ){
$c++;
while( (substr(@$arr[$c], 0 ,3) != "*=>" ) && ($c < $len) ){
$temp = str_replace("[", "$" . "this->", $arr[$c]);
$temp = str_replace("]", "", $temp);
$temp = addslashes($temp);
eval("\$x= \"$temp\";"); //this is the line 200
echo $x;
$c++;
}
$c = $len;
}
$c++;
}
}
}
如果模板 .html 有一行而我在 php 代码中[lbName]
没有该行,我会收到错误。我找到的解决方案是添加类似的行,但是如果我在 HTML 中有 50 个我不在 PHP 中使用的标签,我必须添加所有 50 个。迁移到 PHP 5 后发生错误。有人可以帮助我吗?谢谢$t->Set("lbName","Name");
PHP Notice: Undefined property: Tpl::$lbName in ../template.php(200) : eval()'d code on line 1
$t->Set("lbName","");
$t->Set("tag_name","");