【发布时间】:2017-05-16 09:12:20
【问题描述】:
首先,感谢您阅读我的第一个 stackoverflow 问题!!!
我有以下代码:
eval('return ('.$statement.');')
我正在创建一个用于学习目的的模板引擎,因此,我需要该代码来对我的视图执行一些条件操作。
这段代码的目的是执行一条语句并返回逻辑结果。
假设$statement = '1 == 1';这个返回真,
但是,如果我输入$statement = 'cookie()->has('name');',则会出现以下错误:
解析错误:语法错误,意外的 '&' in /var/www/html/exemlo.com/core/Instead/src/TemplateEngines/TemplateEngine.php(96) : eval()'d 代码在第 1 行
注意cookie函数已经存在并且可以全局访问,返回1,只有1。
有什么想法吗??解决方案?再次感谢。
【问题讨论】:
-
这行代码语法错误:
$statement = 'cookie()->has('name');应该是:$statement = 'cookie()->has("name");'; -
您不能将
$statement = 'cookie()->has('name');放在任何地方,因为这本身就会导致语法错误。如果在您的代码中找不到与号,那么您会收到一条抱怨与号的错误消息,这毫无意义。 -
对不起,sintax 错误是我的错,真正的代码是这样的:'cookie()->has("name");';.
-
这一直抛出同样的错误。
-
Gábor Nádai,甚至更改您的代码,这直到显示相同的错误。
标签: php eval template-engine