【发布时间】:2016-06-07 22:28:10
【问题描述】:
我正在尝试获取由类定义的属性列表(类变量)。这可以使用get_class_vars() 来完成。不幸的是,我也需要知道这些变量的范围(公共/私有/受保护)。
<?php
class test {
public $publicProperty = 1;
protected $protectedProperty = 2;
private $privateProperty = 3;
public function getClassVars() {
return get_class_vars(__CLASS__);
}
}
$test = new test();
var_dump($test->getClassVars());
输出:
array(3) {
["publicProperty"]=> int(1)
["protectedProperty"]=> int(2)
["privateProperty"]=> int(3)
}
有什么方法可以获取范围,这样我就可以获取信息,例如属性$protectedProperty 是受保护的变量?
背景:仍在尝试解决我的问题Changed behavior of (un)serialize()?中已经描述的讨厌的php错误
【问题讨论】:
-
print_r()给出类似于var_dump()的输出,没有附加范围信息。
标签: php class oop properties