在PHP中为动态类成员赋值的语法?

时间:2012-06-28 20:18:53

标签: php class syntax member

我的课程结构如下:

class Test {

    private $var1;
    private $var2;
    private $var3;

    public function __construct($params) {

        foreach($params as $key => $value) {

            $this->$key = $value;

        }

    }

}

我的想法是,在我认为合适的情况下实例化一个新对象时,我可以传递任意数量的参数。例如,我可以这样做:

$params['var2'] = "Variable 2 Instantiated";
$params['var3'] = "Test";
$test = new Test($params);

只会实例化$ test-> var2和$ test-> var3。

到目前为止,我一直在编写一个分配列表,但如果我想实例化一个只有一半可用成员的对象,我必须检查是否已经设置了值等。

所以实际的问题是:

为动态类成员分配值的正确语法是什么?

$this->$var = $var2

根据我的例子,不起作用。我试着用谷歌搜索没有运气。

1 个答案:

答案 0 :(得分:1)

你的例子已经完美无缺。 See it working on codepad.org