ThinkPHP5中raw的作用

在thinkphp5中,我们一般在模板中输出变量是这样的:{$test}

但是有时候在有些源码中我们可以看到这样的方式:{$test|raw}

这个时候如果你去找手册会发现,全文基本没有提到这个raw的作用。

那么根据{}中|的作用理解,我们可以吧raw当成是一个方法,全局搜索试试。

很遗憾,只在Query.php中找到一个同名方法,且这是一个类方法,PASS。

后面直接在模板中写两个,分别是带raw和不带的,刷新页面,查看runtime中的缓存文件。

结果一目了然,如下:

{$test} ------> <?php echo htmlentities($test);?>
{$test|raw} ------> <?php echo $test;?>

这个结果就是说,系统默认是过滤HTML的,如果你不想过滤的话,请在标签里加|raw这种方式,告诉系统,你需要输出HTML内容

同时官网也给出了说明

* 模板标签输出的时候会默认加上安全过滤(默认为`htmlentities`,可配置),如果需要输出HTML内容,记得添加`|raw`;
* 系统分页的输出记得加上`|raw`(原因见上);


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/670.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。