在ThinkPHP框架中,模板引擎主要用于将数据和模板文件结合生成最终的HTML页面。以下是在ThinkPHP中使用模板引擎的基本步骤:
在ThinkPHP的配置文件(通常是config.php)中,可以设置模板引擎的相关参数。例如,要使用内置的模板引擎,可以这样配置:
return [
    // ...
    'template' => [
        'view_path' => './application/view/', // 模板文件目录
        'template_suffix' => 'html', // 模板文件后缀
        'template_engine' => 'Think', // 模板引擎类名
    ],
    // ...
];
在application/view/目录下创建一个模板文件,例如index.html。在这个文件中,可以使用模板语法来插入变量、循环和条件判断等。例如:
<!DOCTYPE html>
<html>
<head>
    <title>{:title}</title>
</head>
<body>
    <h1>{:message}</h1>
    <ul>
        {:foreach $list as $item}
            <li>{$item.name} - {$item.price}</li>
        {:/foreach}
    </ul>
</body>
</html>
在控制器中,可以使用fetch()方法来渲染模板并返回HTML内容。例如:
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
    public function index()
    {
        $data = [
            'title' => '欢迎来到ThinkPHP',
            'message' => '这是一个模板引擎示例',
            'list' => [
                ['name' => '商品1', 'price' => '100'],
                ['name' => '商品2', 'price' => '200'],
                ['name' => '商品3', 'price' => '300'],
            ],
        ];
        return $this->fetch('index', $data);
    }
}
在这个例子中,fetch()方法的第一个参数是模板文件名(不包括后缀),第二个参数是要传递给模板的数据数组。
fetch()方法会返回渲染后的HTML字符串。可以直接输出这个字符串,或者将其作为响应内容返回给客户端。例如:
public function index()
{
    // ...
    $html = $this->fetch('index', $data);
    echo $html;
}
或者使用json()方法返回JSON格式的响应:
public function index()
{
    // ...
    return json(['content' => $html]);
}
这就是在ThinkPHP框架中使用模板引擎的基本步骤。当然,模板引擎还提供了许多高级功能,如模板继承、模板包含等,可以根据实际需求进行学习和使用。