我在看ecshop源码的时候,发现了一个非常有趣的函数,在此记下: get_object_vars() 从字面我们可以猜到,这个函数是针对类的一个方法; 语法: array get_object_vars(object $obj )
它的作用就是返回类中所有的非静态方法:
<?php class object1 { private $a = NULL; public $b = 123; public $c = 'public'; private $d = 'private'; static $e = 'static'; public function test(){ echo "<pre>"; print_r(get_object_vars($this)); echo "<pre>"; } } $test = new object1(); //print_r(get_object_vars($test)); $test->test(); ?>
输出:
Array ( [a] => [b] => 123 [c] => public [d] => private )
如果把//print_r(get_object_vars($test));的注释打开的话,则输出: Array ( [b] => 123 [c] => public )
也就是说在外面只会弹出public的非静态的属性; OK!
|
请发表评论