ohm*_*ama 20
get_class_vars()获取class_name
get_object_vars()采用$ object变量
它们的功能相似:
get_class_vars()将公开默认公共变量(或者在类中调用private或protected)
get_object_vars()将公开当前公共变量(如果在类对象中调用,则公开变量)
两者都不会暴露方法.
Dan*_*uis 15
从手册页get_class_vars和get_object_vars手册页中可以看到,get_class_vars获取类属性的默认值,并get_object_vars获取对象属性的当前值.
此外,get_class_vars获取一个字符串(即类的名称),而get_object_vars获取一个对象.
class Example
{
public $var = 123;
}
$e = new Example();
$e->var = 456;
var_dump(get_class_vars("Example"));
/*
array(1) {
["var"]=>
int(123)
}
*/
var_dump(get_object_vars($e));
/*
array(1) {
["var"]=>
int(456)
}
*/
Run Code Online (Sandbox Code Playgroud)
还有一件事:
get_object_vars()没有看到静态变量,但看到在运行时创建的变量!
get_class_vars()会看到静态变量,但不会看到运行时创建的新变量,例如。在构造函数中:
public function __construct() {$this->newval = "newval";}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14383 次 |
| 最近记录: |