简介:PHP 5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。1.反射有什么作用反射可以用作文档生成。 反射可以做hook插件功 ...
|
PHP 5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。 1.反射有什么作用 反射可以用作文档生成。 反射可以做hook插件功能或者动态代理 通过反射我们可以得到一个类的相关属性: 常量 Contants 属性 Property Names 方法 Method Names静态 属性 Static Properties 命名空间 Namespace Person类是否为final或者abstract 2.如何使用反射 2.1获得反射 如下有一个简单的Person类 <!--?php class Person { protected $name ; protected $age; public function getName() { return $this--->name; } public static function getAge() { return $this->age; } } 我们只需要把类名’Person’传给ReflectionClass即可得到Person的反射。 $class = new ReflectionClass("Person"); $instance = $class->newInstanceArgs(); 2.2获取属性 $properties = $class->getProperties(); foreach( $properties as $pro ) { echo $pro->getName()." "; } 输出如下:
$method = $class->getMethods(); var_dump($method); 输出如下:
$getName = $method[0]; $getName->invoke($instance); //或者 $instance->getName(); 上述就可以执行类中的方法。 本文仅代表作者个人观点,不代表巅云官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱2522407257@qq.com。更多相关资讯,请到巅云www.rzxsoft.cn学习互联网营销技术请到巅云建站www.rzxsoft.cn。 |

