是否有非范围敏感的替代方案get_object_vars()
?
我需要从一个对象中获取所有公共属性
这可以通过反射 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);
?>
只需将其包装在一个函数中。
$get_vars = create_function('$object', 'return get_object_vars($object);');
现在您所要做的就是调用$get_vars($object)
.