【发布时间】:2011-12-18 14:49:26
【问题描述】:
我们可以在 PHP 中动态创建和初始化对象吗? 这是正常的代码:
class MyClass{
var $var1 = null;
var $var2 = null;
.
.
public function __construct($args){
foreach($args as $key => $value)
$this->$key = $value;
}
}
---------------------
$args = ($_SERVER['REQUEST_METHOD'] == "POST") ? $_POST : $_REQUEST;
$obj = new MyClass($args);
上面的代码工作正常。请注意,REQUEST 参数的名称与MyClass 类的成员准确映射。
但是我们可以这样做吗:
$class = "MyClass";
$obj = new $class;
如果我们可以这样做,那么我们可以使用 $args 来初始化 $obj。
根据this post,$obj = $class 应该可以工作。但这对我不起作用。我试过 get_class_vars($obj)。它引发了异常。
谢谢
【问题讨论】:
-
您的问题/问题是什么?请发布不适合您的代码。
-
这个问题也与动态实例化对象有关(除了 PDO,这使得询问的人更复杂),您可能找到一些有关填充新对象的有用信息在各种答案中。