PHP之反射Reflection

原文: https://blog.csdn.net/xyz_dream/article/details/78849511



含义:
PHP反射和Java中存在的反射差不多是一个东西,其实就是根据你输入一个Class或者function,能够向外提供关


于这个类/方法的信息。 例如这个类有哪些方法,哪些静态方法,方法传入的参数,参数类型,注释,私有方法,属


以及属性的默认值是什么等等,反正关于这个类所拥有的内容和信息,基本上都可以得到。




由此可分类几类反射。
ReflectionClass(反射类)
,ReflectionMethod(反射方法),ReflectionFunction(反射函


数),ReflectionParameter(反射参数)
ReflectionProperty(反射属性) 等等。 具体参见PHP官方文档。 在PHP7之后,


于加入新特性,可以声明参数类型为基本数据类型(int float string)等,以及方法/函数返回值类型。 所以反射也相


应加入新功能,可以获取函数返回值类型/传入参数的类型。




用途: 其实反射用的场景并不是很多,几乎很少有人用到这个东西。 但是如果你想做关于自己的一些框架/需要


出一个PHP类文件里面的大致内容和架构,反射将非常有用。否则你想通过字符串的正则表达式去完成这个工作的


工作量很大和效果也不见得很好.例如简单的界面IDE判断你当前服务器上的PHP文件存在的某些类的结构,以及给出用


户提示,参数信息,返回值信息。