php反射

* 反射 : 反射就是在php运行状态中 , 扩展分析php程序 , 导出或提取出类的 方法 属性 参数 注释等详细信息 这种动态获取信息以及
* 动态调用对象方法的功能就是反射 API
* 其实说白了 反射就是 通过对象 去找到对象所属类 和类信息
*
* 有利有弊 违背了 类的信息不被外界知道的原则 例如 私有方法 和属性
* 反射这个东西 我自己理解的不深 但是我觉得反射应该可以做很多事情 等以后发现了 再来修改吧 !^_^

撸过的代码:
 1 class Answer{
 2     public $a = 1;
 3     private $name;
 4 
 5     public function __set($name, $value)
 6     {
 7         // TODO: Implement __set() method.
 8         $this->$name = $value;
 9     }
10 
11     public function run()
12     {
13         return 'Hey '.$this->name.' ! just run .<br>';
14     }
15 }
16 
17 
18 $a = new Answer();
19 $a->name = 'kins';
20 echo $a->run();
21 
22 
23 //反射
24 
25 //获取属性
26 $reflect = new ReflectionObject($a);
27 $props = $reflect->getProperties();
28 foreach ($props as $prop){
29     print $prop->getName()."
";
30 }
31 echo "<br>";
32 //获取方法
33 $m = $reflect->getMethods();
34 foreach ($m as $v){
35     print $v->getName()."
";
36 }
37 echo "<br>";
38 
39 //使用class函数
40 //获取对象属性关联数组
41 var_dump(get_class_vars(get_class($a)));
42 echo "<br>";
43 //类方法名
44 var_dump(get_class_methods(get_class($a)));
45 echo "<br>";
46 
47 echo get_class($a);exit;
原文地址:https://www.cnblogs.com/kinsFeng/p/9213345.html