我在将使用savant2模板引擎的旧项目转换为 Plate 模板引擎时遇到问题,我已经阅读了 Platesphp 文档,但仍然令人困惑。savant2 模板中的项目是这样构造的(示例),第一个文件
$savant = new Savant2();
$savant->addPath('template', [LINK TO TEMPLATE OR THEME]);
然后在其他文件中,声明了所需的变量
global $savant;
$my_name = "Victor";
$savant->assign('name', $my_name);
$savant->display('include/header.tmpl.php');
然后,在 header.tmpl.php 文件中
<?php echo $this->name; ?>
现在,我想用plates模板引擎代替savant2,这就是我的代码现在的结构,第一个文件
$plates = new League\Plates\Engine();
$plates->addFolder('template', [LINK TO TEMPLATE OR THEME]);
在另一个文件中,
global $plates;
$my_name = "Victor";
$plates->addData('name', $my_name);
$plates->render('include/header.tmpl.php');
然后,在 header.tmpl.php 文件中
<?=$this->e($name)?>
虽然它没有按预期工作,但我的困惑在于使用 render、addData 和 addFolder 来产生与 savant2 相同的结果