我正在尝试用 PHP 构建一个 CMS,但在构建模板系统时遇到了一些麻烦。我不想使用 Smarty 或 Twig,因为我不想依赖外部框架,直到我自己可以流利地编写代码。这一切都是为了提高我的学习能力(从我的角度来看)。
所以我一直在计划模板如何工作,但在错误检查方面遇到了麻烦。
这是它如何工作的基本概述。
(非常)简单的示例模板:
<html>
<p>{output $randomNumber}</p>{output $databaseDump}
<div>{output $databaseAndUsersPasswords}</div>
</html>
由我的解析器解析:
<html>
<p><?php echo $randomNumber?></p><?php echo $databaseDump?>
<div><?php echo $databaseAndUsersPasswords?></div>
</html>
然后我使用 eval 运行解析后的模板。
我的问题在于错误检查。如果设计人员出错了,则几乎没有针对错误的保护措施。启用错误抑制后,页面的一部分将丢失其内容。我希望它是全部或全部。我想不出一个简单的解决方案可以让我检查错误。
另外,您认为我可以使用正则表达式和 str_replace 来解析模板吗?我一直在阅读其他一些框架解决方案,但看起来都非常复杂,我找不到他们解析系统的核心。
请随意批评我的技术。我是来学习的。