多语言展示
当前在线:388今日阅读:179今日分享:36

反射API是PHP中几种内置的OOP扩展特性之一

反射API是PHP中几种内置的OOP扩展特性之一:它包含一系列的类、异常和接口
方法/步骤
1

反射API是PHP中几种内置的OOP扩展特性之一:它包含一系列的类、异常和接口,一起使用它们将允许你分析其他的类、接口,方法、属性、圣数和扩展。这一扩展特性被命名为反射技术,在PHP源代玛的/ext/reflection包中可以找到,其中还有大量有用的例子和单元恻试。

2

说明在http://www.php.net/language.oop5.reflection中找到完整的反射API,还可以使用      http://lxr.php.net/source/php-src/ext/reflection/中的源代码浏览器来查看反封APl的内部是如何运作的,并且还可以查看这一扩展中包含的更加高级的使用场景.      这里不对类的声明加以讲解,将演示如何使反射技术来展PHP自身的类声明。要查看这个反射API完整的、最新的导出结果,可以创建以下脚本。    这将会打印出一个非常长的清单,详细列出整个反射API的所有的类、方法和参数.通过使用Reflection类的export.方法.就可以得到这一导出结果。

3

反射APl中几乎所有的部分都实现了reflector接口,并且ReflectionExtension也不例外,Reflection::export()方法会打印出传入的反射器的递归输出结果,而且既然所有的反射器作为接口的一部分自身都必须实现export()方法,它就会以树状的方法直调用下去。    在这个例子中,我们从ReflectionExtension开始,它会按顺序导出它的所有类和接口,以及它们的所有方法和参数。    你甚至可以使用反射技术来创建所有内置的PHP类的导出结果。要实现这一点,首先需要知道己经加载了什么类。幸好PHP提供的get_de}!ared_classesi)函数实现了这一功能。    Get_declared_classes()函数会返回所有类,甚至包括内置的类。

推荐信息