• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP有关问题请大神帮忙

php 搞代码 3年前 (2022-01-24) 12次浏览 已收录 0个评论

PHP问题【急】【急】【急】【急】请大神帮忙

本帖最后由 sysmaze 于 2014-11-02 15:47:57 编辑

模板赋值问题
最终页代码如下

<br /><?php <br />    require "system/system.php"; <br />    $tpl =  new KSeeing();<br />    $tpl->assign("show",'success');<br />    $show = '111';<br />    include('templates/index.html');  =======================这样写的话 $show能成功赋值<br />    //include('F:/AppServ/www/temp/tpl/com_index.html.php'); <br />    //$tpl->compile('index.html');===================这样写的话$show不能赋值<br />?><br />

index.html 简要代码如下 输出一个变量

<br />	<div class="logo"><?php  echo $show ?></div><br />

问题如下:
直接在本页面下include(上面第一个代码块) include(‘templates/index.html’); 成功赋值可以输出$show值
简单写了个模板 核心函数 $tpl->compile(‘index.html’); 如下 就不能成功赋值 相对绝对路径都试过,【以下代码compile已改为绝对】,而且两个引用的路径一模一样[非绝对下]竟然不好使!!!不知道是不是涉及到GLOBAL这个东西,请大神详解 ,在线等!

<br />function compile($fileName){<br />            $ducument_root = $_SERVER['DOCUMENT_ROOT'];<br />            $tplFile = $ducument_root.$this->template_dir.$fileName; //找到模版文件<br />            if(!file_exists($tplFile)){<br />        <strong style="color:transparent">本&文来源gao@daima#com搞(%代@#码网@</strong><textarea>搞gaodaima代码</textarea>        return false;<br />            }<br />            $comFile = $ducument_root.$this->compile_dir.'com_'.basename($tplFile).'.php';//构造编译后的文件<br />            if(!file_exists($comFile) || filemtime($comFile)<filemtime($tplFile)){<br />                $repContent  = $this->tpl_replace(file_get_contents($tplFile));//获取源文件内容并替换成php源格式<br />                $handle = fopen($comFile,'w+');<br />                fwrite($handle,$repContent);<br />                fclose($handle);<br />            }<br />            include($comFile);<br />        }<br />

——解决思路———————-
你的 KSeeing::assign 方法是怎么写的?

一般的说
$tpl->assign(“show”,’success’);
是将 ‘success’ 赋予 $tpl 的 show 属性,通常会有一个载体
所以可能是这样 $tpl->data[‘show’] = ‘success’;

你的模板中是 <?php echo $show ?>
所以 compile 方法中应是

extract($this->data);<br />include($comFile);

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP有关问题请大神帮忙
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址