thinkphp模板html中用php输出html的标签中含有变量,怎么才能输出?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp模板html中用php输出html的标签中含有变量,怎么才能输出?相关的知识,希望对你有一定的参考价值。

thinkphp模板html中用php输出html的标签中含有变量,怎么才能输出?我的代码无法输出,问题出在其中的好几处$arr['link']上。去掉和加上都不行。求助我的代码如下:<body><?phpif(isset($links[0])) $i = 1;foreach($links as $arr)if($i==1) echo "<input type='hidden' name='previewurl' value=\"$arr['link']\" />\r\n";if($arr['image'] != '') $arr['image'] = "<img src='$arr['image']' />\r\n";echo "<hr />";echo "网址: <a href='$arr['link']' target='_blank'>$arr['link']</a><br />\r\n标题: $arr['title']<br />\r\n图片: $arr['image']\r\n";$i++;if($i>10) break;elseecho $errmsg;?></body>

当我看到你的这段代码后我首先想到的是,这是一个纯粹的php文件,里面只有一段php内容 不管内容里到底有什么。
也许你是作为接口的一部分,或者别的什么都好。总之我就认为是一个页面了,是你所需要请求的一个页面事先准备的接口。

你的想法很简单,那就是用模板标签输入你现在字符串中的内容,加上你后来可能输出的php部分的模板标签,
第一个----- 如果是接口,当这个文件被调用后,你的那个模板内容$arr[link'] 在你所请求的页面 是否有控制器专门指定了$arr这个值分配到前端模板里面了呢。
如果没有分配访问不到该数据正常。
第二个-----这个模板页面可能是公共部分也说不定,那么请问在公共控制器中是否有分配这个页面数据$arr
如果没有访问不到该数据正常
最后:一般来说在tp中或者说任何框架中,一个数据想要被解析出来第一件事情,一定是在控制器层或者路由层有所指定变量,如果不指定变量,那么一定不可能让你在分离的情况下很好的解析的。 希望对你有所帮助
参考技术A 为什么不在控制器处理好需要是数据,然后在模板里面再用模板标签的形式去循环呢,而要这样写,这样写和面向过程还有什么区别本回答被提问者和网友采纳 参考技术B 可以查看一下编译出来的php文件

关于ThinkPHP5.0的渲染模板输出

在ThinkPHP的最新版本5.0 RC2中,渲染模版输出方法display()已经接近被废弃了。


在\think\view.php中,已经不存在display()方法。


而在\think\controller.php中,display()的函数体跟fetch()一样:

    /**
     * 加载模板和页面输出 可以返回输出内容
     * @access public
     * @param string $template 模板文件名
     * @param array  $vars     模板输出变量
     * @param array $config     模板参数
     * @return mixed
     */
    public function fetch($template = ‘‘, $vars = [], $config = [])
    {
        return $this->view->fetch($template, $vars, $config);
    }
    /**
     * 加载模板和页面输出 可以返回输出内容
     * @access public
     * @param string $template 模板文件名
     * @param array  $vars     模板输出变量
     * @param array $config     模板参数
     * @return mixed
     */
    public function display($template = ‘‘, $vars = [], $config = [])
    {
        return $this->view->fetch($template, $vars, $config);
    }


在5.0的使用手册中,也已经全部使用fetch()渲染输出。


所以在使用时,继承\think\controller后虽然可以继续用display()渲染输出,但最好还是遵循模版作者的更新意图,使用fetch()和show()渲染输出。

本文出自 “A&D_Ro535” 博客,请务必保留此出处http://ro535.blog.51cto.com/11279790/1753202

以上是关于thinkphp模板html中用php输出html的标签中含有变量,怎么才能输出?的主要内容,如果未能解决你的问题,请参考以下文章

Thinkphp模板中函数的使用

thinkphp把HTML+PHP写的一个页面代码存入数据库以后 读取出来的效果HTML代码解析了PHP代码被直接输出

Thinkphp模板中函数的使用

thinkphp模板页面循环输出次数问题

ThinkPHP模板判断输出Defined标签用法详解

thinkphp无法输出模板,哪位大神来帮忙看看,谢谢。