来自子类的PHP get_object_vars

时间:2013-11-15 08:14:05

标签: php class properties

问题:

如何在A类中将$paramload()推送到$data属性?

因此我可以使用 get_class_vars get_object_vars来加载它们。

每次我使用load函数时,它都会将$ param添加到$ data属性。

示例:

<?php

class Test {
    public function testing($str) { echo $str; }
}

class A {

    public $data = array();

    public function load($param) {
        array_push($this->data, $param); // not adding $param to $data property
        return $param = new $param;
    }

}

class B {

    public $a;

    public function __construct() {
        $this->a = new A();

        var_dump(get_object_vars($this->a)); // showing empty $data property
    }

}

// Usage
$b = new B();
$test = $b->a->load('test');
$test->testing('hello');

修改:

使用get_object_vars($this->a)

1 个答案:

答案 0 :(得分:2)

get_class_vars仅显示默认公共变量。请改用get_object_vars($this->a);这应该有效。