在 PHP 中使用 FreeMarker 作为模板引擎时,可以通过以下步骤处理数据:
require_once 'vendor/autoload.php';
$freeMarker = new FreeMarker();
$data = [
'title' => 'FreeMarker 示例',
'items' => [
['name' => 'Item 1', 'price' => 100],
['name' => 'Item 2', 'price' => 200],
['name' => 'Item 3', 'price' => 300],
],
];
template.ftl
):<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{title}}</title>
</head>
<body>
<h1>{{title}}</h1>
<ul>
<#list items as item>
<li>{{item.name}} - ${{item.price}}</li>
</#list>
</ul>
</body>
</html>
在这个模板中,我们使用了 FreeMarker 的内置变量(如 {{title}}
和 {{items}}
)以及内置的列表处理指令(如 <#list>
和 <#list>
)。
$template = file_get_contents('template.ftl');
$output = $freeMarker->render($template, $data);
echo $output;
这将输出渲染后的 HTML 页面,其中包含从 PHP 数据中提取的信息。
总结一下,处理数据的关键在于准备要传递给模板的数据,并确保模板文件中的语法和变量与 FreeMarker 的要求相匹配。