【发布时间】:2011-11-15 14:06:18
【问题描述】:
见:
$class_members = get_class_vars(__CLASS__);
foreach($class_members as $key => $value)
{
if (strpos($key, '_output') === 0)
{
// I want to eval() this
$code = '$this->' . $key . ' = 0;';
}
}
假设我想将值 0 分配给以 _output 开头的所有类成员。我打算使用eval。 好主意还是坏主意?
【问题讨论】:
-
与Reflection一起做。
-
eval() 从来都不是一个好主意。而且...您是否尝试从类方法中执行此操作?还是来自物体之外的某个地方?如果你在里面,你为什么需要评估? $this 反正已经存在了。
-
为什么不只是
$this->$key = 0; -
你能告诉我如何通过反射来实现我想要做的事情吗?
-
看起来可以这样做:php.net/manual/en/reflectionclass.getdefaultproperties.php 但我不知道如何在课堂上做到这一点。另外,这只会让我成为会员。我还会像在 sn-p 中那样循环遍历它们吗?还是有一种“反思”的方式来做到这一点?
标签: php properties eval