是否存在对get_object_vars()
的非范围敏感的替代方案?
我需要从对象中获取所有公共属性
答案 0 :(得分:1)
将其包装在一个函数中。
$get_vars = create_function('$object', 'return get_object_vars($object);');
现在您所要做的就是致电$get_vars($object)
。
答案 1 :(得分:1)
可以使用reflection API:
完成此操作<?php
class Foo {
public $foo = 1;
protected $bar = 2;
private $baz = 3;
}
$foo = new Foo();
$reflect = new ReflectionClass($foo);
$props = $reflect->getProperties(ReflectionProperty::IS_PUBLIC);
var_dump($props);
?>