gpt4 book ai didi

FatFree 模板中的 PHP 代码

转载 作者:可可西里 更新时间:2023-11-01 12:52:37 26 4
gpt4 key购买 nike

我正在尝试使用 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 is presentvar1 not present无论 var 的值如何,都会打印。此外,php for 循环不起作用 - 所以基本上所有 php 代码都不起作用。

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

最佳答案

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

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

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

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

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

关于FatFree 模板中的 PHP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9309131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com