zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    88. Merge Sorted Array
    87. Scramble String
    86. Partition List
    85. Maximal Rectangle
    84. Largest Rectangle in Histogram
    83. Remove Duplicates from Sorted List
    82. Remove Duplicates from Sorted List II
    81. Search in Rotated Sorted Array II
    80. Remove Duplicates from Sorted Array II
    计算几何——点线关系(叉积)poj2318
  • 原文地址:https://www.cnblogs.com/kinsFeng/p/9213345.html
Copyright © 2011-2022 走看看