获取PHP类的值变量

时间:2014-02-16 14:38:53

标签: php

我的课程看起来像这样:

class MyClass
{
   public $value;
   public function __construct()
   {
      //some code...
   }
   public function setValue()
   {
     $this->value = 1;
   }
}

    $c = new MyClass;
    $c->setValue();
    var_dump(get_object_vars($c));

它可以工作但是现在,我想获取值,但不需要声明类MyClass并调用setValue。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以在不改变类结构的情况下使用ReflectionMethod::invoke

<?php
class MyClass
{
    public $value;
    public function __construct()
    {
        //some code...
    }
    public function setValue()
    {
        return $this->value = 1;  //<----- Add a return keyword
    }
}
$reflectionMethod = new ReflectionMethod('MyClass', 'setValue');
echo $reflectionMethod->invoke(new MyClass(), '');

<强> OUTPUT :

1