Можем ли мы динамически создавать и инициализировать объект в 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;
Если мы можем сделать это, то можем ли мы инициализировать $ obj , используя $ args .
Согласно этот пост , $ obj = $ class должен работать. Но это не работает для меня. Я пытался get_class_vars ($ obj) . Это бросило исключение.
Спасибо