2

RestRequest オブジェクトから request_vars を取得するにはどうすればよいですか。配列からすべてのフィールドが必要です。

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
)
4

2 に答える 2

2

ダンプによると、request_varsはプライベートで非静的な属性です。

したがって、次のような getter メソッドが必要です。

class RestRequest
{
    // ...

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

この方法では、request_varsの値を直接編集/書き込みすることはできませんが、 getRequestVars()パブリック メソッドを介して読み取ることができます。

var_dump( $object->getRequestVars() );
于 2012-09-26T12:40:47.673 に答える
1

アップデート:

コメントに投稿した例getRequestVars()には、クラスRestRequestにメソッドがあり、それらの値を返す必要があります。

protected必要に応じて、Reflectionなどの可視性モディファイヤを回避できますprivateが、おそらく良い考えではありません。

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";
}
于 2012-09-26T12:45:11.967 に答える