微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FatFree模板中的PHP代码

我正在尝试使用FatFree框架并尝试使用模板引擎.我使用以下代码渲染模板 –
echo Template::serve('template.PHP');

我面临的问题是,在template.PHP文件中,F3标签被识别,但任何PHP代码都不起作用.例如,如果我在template.PHP文件中有以下代码

<?PHP
if (F3::get('var') == 'var1') {
   ?>
   <span>var1 is present</span>
   <?PHP
} else {
   ?>
   <span>var1 not present</span>
   <?PHP
}
?>

这里两个都存在var1,并且不管var的值如何都打印var1.此外,PHP for循环不起作用 – 所以基本上所有的PHP代码都无法正常工作.

但是,如果我使用< F3:check>编写上面的PHP代码,然后一切正常.我们不能在模板中使用PHP代码吗?如果是这种情况,这是一个严重的限制.

我找到了答案,虽然我不喜欢它.

有两个不同的函数,F3 :: render()和Template :: serve()

使用F3 :: render(),您可以评估PHP表达式并使用F3 :: get()来检索变量.据该网站称:“在您的模板中嵌入PHP代码的唯一问题是坚持MVC原则所需的有意识的努力”

Template :: serve()仅用于模板化.这意味着它只是处理模板语言.

所以基本上,是的,它很糟糕,没有意义,你可以在F3 :: render()中评估PHP代码,你不能使用模板变量({{@var}}) – 或者 – 你可以使用模板:: serve(),你只能调用PHP函数,而不是真正评估PHP代码.

原文地址:https://www.jb51.cc/php/240121.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐