如何在php中的对象内部获取元素

时间:2012-09-26 12:38:03

标签: php rest

如何从RestRequest Object获取request_vars ..我想要一个数组中的所有字段.Below是提到的代码

RestRequest Object
(
[request_vars:RestRequest:private] => Array
(
[{
"taskStmt":"demoo",
"description":"",
"projectId":"",
"assignedDate":"",
"endDate":"",
"TaskEffort":"",
"estimateTime":"",
"dependencies":_"",
"priority":"",
"timeTaken":"",
"workCompletion":"",
"status":"",
"user_id":"",
"mailsent":"",
"completiondate":""
}
] =>
)

[data:RestRequest:private] =>
[http_accept:RestRequest:private] => json
[method:RestRequest:private] => put
)

2 个答案:

答案 0 :(得分:2)

根据您的转储, request_vars 是一个私有且非静态的属性。

所以你需要一个像这样的getter方法:

class RestRequest
{
    // ...

    public function getRequestVars()
    {
        return $this->request_vars;
    }
}

通过这种方式,您无法直接编辑/写入 request_vars 的值,但您可以通过 getRequestVars()公共方法阅读它:

var_dump( $object->getRequestVars() );

答案 1 :(得分:1)

更新

您在评论中发布的示例在类getRequestVars()上有RestRequest方法,应返回这些值。

如果必须,您可以使用反射来查看protectedprivate等可见性修饰符,但可能不是一个好主意:

class Foo {
    public    $foo  = 1;
    protected $bar  = 2;
    private   $baz  = 3;
}

$foo = new Foo();

$reflect = new ReflectionClass($foo);
$props   = $reflect->getProperties();

foreach ($props as $prop) {
    $prop->setAccessible(true);
    print $prop->getName().' = '.$prop->getValue($foo)."\n";
}