我继续我的旅程,创建一个非常简单的模板引擎。因为我想在我的模板中添加逻辑,所以我最终回到了允许 PHP 标签进入我的代码的地步,我通过演示代码来启用它。
也许不是最好的解决方案,但是在查看WordPress模板时,我注意到这个想法本身可能并不那么糟糕。
但现在还剩下一个小问题。那就是我想翻译生成的代码。
但它已经被吓坏了。因此解析。我想通过使用ob_get_contents()来解决这个问题。但这带来了另一个问题,如果出现错误,它会显示白屏。(内存使用量等)
另外,它仍然没有消除 eval 的问题,它在 evall 时解析了内容。
简而言之,类逻辑是:
- 加载模板文件
- 添加内容
- 编译模板
- 评估代码(但不幸的是也显示代码) 翻译
- 代码,以便我可以翻译由 PHP 脚本解析的代码
我会喜欢这样的东西:
$code = eval('?>'.$tpl.'<?php');
$code = translate($code);
WriteCache($code);
SetDocumentHeader();
echo $code;
有谁知道如何实现这一目标?
提前感谢!
$code = eval($tpl);
看看这个。