php - 如何在 PHP 中动态实例化一个对象?

标签 php oop object dynamic

我们可以在 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)。它引发了异常。

谢谢

最佳答案

这更像是一条评论,但我把它留在这里更显眼:

$class = "MyClass";
$obj = new $class($args);

这确实有效。参见 newDocs .

关于php - 如何在 PHP 中动态实例化一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7952031/

相关文章:

php - 同时插入多个值,如单变量和数组变量

c# - builder 之间的继承——如何处理类型?

c# - 在 C# 中将 JsonResult 转换为不同的对象

php - 从php中的一系列数组键中跳过键索引

php - 为什么两个 select 查询不能在一个 php 代码中执行?

c++ - 返回对对象构造函数的引用

java - 需要一些帮助来创建 Java 的 Triangle 类

javascript - 如何遍历所有可能的 JSON 对象键对一次?

java - java中有没有一种方法可以唯一标识对象

php - 如何在PHP中从多维数组中获取随机数组?