我现在正在为一个java团队工作,但我正在使用PHP作为私人案例。
我的工作团队正在导入Thymeleaf,这是一个强大的java模板引擎。
它可以将输出或表达式的变量(例如 if else )写入属性的标记中,例如:
<tr th:each="prod : ${allProducts}">
<td th:text="${prod.name}">Oranges</td>
<td th:text="${#numbers.formatDecimal(prod.price,1,2)}">0.99</td>
</tr>
它也可以在浏览器中正常呈现,完全没有任何java的变量或表达式。
当我使用PHP时,我知道 Smarty 和 twig 。
但是他们都必须在标签之外编写变量和表达式(而不是作为属性),它们在浏览器中显示。
所以我想知道是否有一些方法可以像Thymeleaf那样使用Smarty或twig 或者其他PHP模板引擎可以轻松完成此任务。
致以最诚挚的问候,
更新
它也可以在浏览器中正常呈现,完全没有任何java的变量或表达式。
我的意思是这可以在没有任何解析过程的情况下完成 只需在浏览器中打开文件,就好像没有任何引擎一样。
答案 0 :(得分:1)
答案 1 :(得分:0)
纯PHP,内置模板引擎。无需安装。
<?php foreach ($allProducts as $prod): ?>
<tr>
<td><?= $prod->name ?></td>
<td><?= $numbers->formatDecimal($prod->price,1,2) ?></td>
</tr>
<?php endforeach; ?>
如果您没有输入<?
标签,那就像普通的HTML一样。按惯例分离,没有技术障碍。如果您有更多限制技术的经验,那就足够了。
答案 2 :(得分:-1)
呃......不是吗?我希望我不知道你错了什么,但这是错的。但是他们都必须在标签之外写变量和表达式
<script src="{$tmplpath}js/chosen/chosen.jquery.min.js"></script>
<link rel="stylesheet" href="{$tmplpath}css/style_general.css">
{if isset($custom_stylesheet)}
<link rel="stylesheet" href="{$tmplpath}css/{$custom_stylesheet}">
{/if}
这是我上次与Smarty合作的项目,我不必在标签之外写作。