首先,感谢您阅读我的第一个 stackoverflow 问题!!!
我有以下代码:
eval('return ('.$statement.');')
我正在创建一个模板引擎用于学习目的,因此,我需要该代码来对我的视图执行一些条件操作。
这段代码的目的是执行一条语句并返回逻辑结果。
假设
$statement = '1 == 1';
返回 true,
但是,如果我输入
$statement = 'cookie()->has('name');'
这会出现以下错误:
解析错误:语法错误,意外的“&” /var/www/html/exemplo.com/core/Instead/src/TemplateEngines/TemplateEngine.php(96) :第 1 行 eval() 代码
注意cookie函数已经存在并且全局可访问,返回1,仅1。
有什么想法吗?解决方案?再次感谢。
这很奇怪,但由于某种原因,
$statement = filter_var($statement, FILTER_SANITIZE_STRING)
导致了错误;将此函数替换为 strip_tags
后,错误消失了。