php - 将字符串评估为 PHP 代码?

标签 php eval

我有一个字符串,我想让 PHP 将其作为一段代码读取。原因是我想预先构建PHP的指令集,然后再执行。目前我有:

$string = '$this->model_db->get_results()';

期望的结果是:

$string2 = $this->model_db->get_results();

最佳答案

你可以有可变的变量/函数,但不能有可变的方法链。但是,您可以使用可变变量/函数创建方法链。

查看 php 文档的这一页: http://php.net/manual/en/language.variables.variable.php

它显示了使用字符串作为对象或方法名称的用法。使用 eval 可能会导致安全漏洞,具体取决于您的数据源。

$var1 = 'model_db';
$var2 = 'get_results';

$this->$var1->$var2();

关于php - 将字符串评估为 PHP 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9831073/

相关文章:

php - 从 PHP SimpleXML 节点获取实际值

php - Doctrine 和 Symfony 2 中的 DateTime 字段

bash - 我似乎无法在 "-c"选项字符串之后使用带参数的 Bash "-c"选项

javascript - 防止表单 POST 重定向发生,但仍保持 Bootstrap 验证

javascript - 如何根据浏览器宽度动态重新提供内容?

java - API Java 和 PHP 以及 URL 调用

javascript - 可以使用 $parse 或 $eval 来计算 Stingified bool 方程吗?

python - 将字符串解析为字典

java - Java 中 eval() 解析器和二维数组的实现

asp.net - 如何使用客户端函数 "OnClientClicking"传递绑定(bind)或评估参数