Home > Article > Backend Development > PHP问题【急】【急】【急】【急】请大神帮忙
模板赋值问题
最终页代码如下
<?php require "system/system.php"; $tpl = new KSeeing(); $tpl->assign("show",'success'); $show = '111'; include('templates/index.html'); =======================这样写的话 $show能成功赋值 //include('F:/AppServ/www/temp/tpl/com_index.html.php'); //$tpl->compile('index.html');===================这样写的话$show不能赋值?>
<div class="logo"><?php echo $show ?></div>
function compile($fileName){ $ducument_root = $_SERVER['DOCUMENT_ROOT']; $tplFile = $ducument_root.$this->template_dir.$fileName; //找到模版文件 if(!file_exists($tplFile)){ return false; } $comFile = $ducument_root.$this->compile_dir.'com_'.basename($tplFile).'.php';//构造编译后的文件 if(!file_exists($comFile) || filemtime($comFile)<filemtime($tplFile)){ $repContent = $this->tpl_replace(file_get_contents($tplFile));//获取源文件内容并替换成php源格式 $handle = fopen($comFile,'w+'); fwrite($handle,$repContent); fclose($handle); } include($comFile); }
你的 KSeeing::assign 方法是怎么写的?
一般的说
$tpl->assign("show",'success');
是将 'success' 赋予 $tpl 的 show 属性,通常会有一个载体
所以可能是这样 $tpl->data['show'] = 'success';
你的模板中是
所以 compile 方法中应是
extract($this->data);include($comFile);
你的 KSeeing::assign 方法是怎么写的?
一般的说
$tpl->assign("show",'success');
是将 'success' 赋予 $tpl 的 show 属性,通常会有一个载体
所以可能是这样 $tpl->data['show'] = 'success';
你的模板中是
所以 compile 方法中应是
extract($this->data);include($comFile);
<?php require "system/system.php"; $tpl = new KSeeing(); $tpl->assign("show",'success'); //$show = '111'; include('templates/index.html'); //include('F:/AppServ/www/temp/tpl/com_index.html.php'); $tpl->compile('index.html');?>
<?php require "system/system.php"; $show = '111'; $tpl->compile('index.html');?>
你的 KSeeing::assign 方法是怎么写的?
一般的说
$tpl->assign("show",'success');
是将 'success' 赋予 $tpl 的 show 属性,通常会有一个载体
所以可能是这样 $tpl->data['show'] = 'success';
你的模板中是
所以 compile 方法中应是
extract($this->data);include($comFile);
<?php require "system/system.php"; $tpl = new KSeeing(); $tpl->assign("show",'success'); //$show = '111'; //include('templates/index.html'); //include('F:/AppServ/www/temp/tpl/com_index.html.php'); $tpl->compile('index.html');?>
所以我要你给出 assign 方法的代码,这样才能有的放矢
你在 compile 中 include 不行的元婴是 compile 中并没有变量 $show