Php 什么时候(如果有)评估不是邪恶的?

Php 什么时候(如果有)评估不是邪恶的?,php,eval,Php,Eval,可能重复: 我听过很多地方说PHP的eval函数通常不是答案。根据PHP5.3的LSB和闭包,我们没有理由依赖eval或create_函数 在PHP5.3中,是否存在eval是最好(唯一?)答案的情况 这个问题不是关于eval是否是邪恶的,因为它显然不是 答复摘要: * Evaluating numerical expressions (or other languages "safe" subsets of PHP) * Unit testing * Interactive PHP "she

可能重复:

我听过很多地方说PHP的eval函数通常不是答案。根据PHP5.3的LSB和闭包,我们没有理由依赖eval或create_函数

在PHP5.3中,是否存在eval是最好(唯一?)答案的情况

这个问题不是关于eval是否是邪恶的,因为它显然不是

答复摘要:

* Evaluating numerical expressions (or other languages "safe" subsets of PHP)
* Unit testing
* Interactive PHP "shell"
* Deserialization of trusted var_export
* Some template languages
* Creating backdoors for administers and/or hackers
* Compatibility with < PHP 5.3
* Checking syntax (possibly not safe)
*计算数值表达式(或其他语言“安全”的PHP子集)
*单元测试
*交互式PHP“shell”
*可信var_导出的反序列化
*一些模板语言
*为管理员和/或黑客创建后门
*与
我倾向于说“只要经过评估的代码不受用户输入的影响”,但我不确定为什么要评估()您应该知道的代码


在模板系统中使用eval()是我多次偶然发现的,但在我看来,它似乎是include()或require()的一种替代方法(在这些情况下),而且似乎有可能在不使用eval()的情况下更改解决方案会带来相同的结果。

克服PHP的缺点

在我们的项目中,我们需要
eval
让一个类在自动加载中扩展一个动态类

eval("class {$baseName}Model extends {$baseName}ModelParent{}");

虽然这看起来像是一种代码味道,但我不会详细说明,但这是我们透明地支持许多略有不同的项目的绝对必要的一步。

man。此处已存在标题完全相同的主题。在你写这篇文章的时候,它肯定是给你看的。100%重复:Thnx dude,我从那条线索上得到了我的答案…@MSP:逐字复制这个问题有什么意义?你是为销售代表做的吗?