我正在编写一个非常简单的模板系统,仅用于学习目的。
也就是说,我正在读取一个包含IF和ELSE自我表示的TPL文件,有点像“ {if = $ a <10} case1 {else} case2 {/ if}”。
因此,我使用正则表达式浏览了TPL文件,并重建了替换常规PHP代码的内容。
所以
{if = $ a <10} case1 {else} case2 {/if}
变成
if ($ a <10) {echo "case1"; } else {echo "case2"; }
好的。
但是我必须将其作为PHP代码运行以获取此逻辑的结果,然后重新组装模板输出。
这就是我的疑问所在:我读到应该避免使用 eval()函数!甚至有人说如果您需要使用 eval(),那是因为您对它进行了编程错误!
eval()是解决此问题的唯一方法吗?还是有其他更适合这种应用的解决方案?