我有一个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'
从公共和受保护都可见的类自己的方法中获取对象的唯一公共属性的最简洁方法是什么?
我看过:
但这似乎并没有解决我的问题,因为它指向get_object_vars()
从对象外部使用。