在这种情况下可以使用EVAL吗?

时间:2019-07-25 19:46:33

标签: php

我正在编写一个非常简单的模板系统,仅用于学习目的。

也就是说,我正在读取一个包含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()是解决此问题的唯一方法吗?还是有其他更适合这种应用的解决方案?

0 个答案:

没有答案