Foo
パブリック プロパティとプロテクト プロパティを 持つクラスがあります。のすべてのパブリックプロパティのリストを返すFoo
非静的メソッドが必要です(これは単なる例です。オブジェクト呼び出しの外部からこれを達成することがわかっており、私のメソッドは必要ありません)。getPublicVars()
Foo
Foo
get_object_vars()
getPublicVars()
注:これは、実行時にクラスの定義で定義されていないクラス インスタンス (オブジェクト) に割り当てられた、動的に宣言されたプロパティも返す必要があります。
次に例を示します。
class Foo{
private $bar = '123';
protect $boo = '456';
public $beer = 'yum';
//will return an array or comma seperated list
public function getPublicVars(){
// thar' be magic here...
}
}
$foo = new Foo();
$foo->tricky = 'dynamically added var';
$result = $foo->getPublicVars();
var_dump($result); // array or comma list with 'tricky' and 'beer'
public と protected の両方が表示されるクラス独自のメソッド内からオブジェクトの public プロパティのみを取得する最も簡潔な方法は何ですか?
私は見てきました:
get_object_vars()
しかし、これはオブジェクトの外部からの使用を指しているため、私の質問に対処していないようです。