5.3-反射API《深入PHP:面向对象、模式与实践》

来源:互联网 发布:zxfuli福利社域名更改 编辑:程序博客网 时间:2024/06/14 18:54

*
反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用。其用途如:自动加载插件,自动生成文档,甚至可用来扩充PHP语言。php反射api由若干类组成,可帮助我们用来访问程序的元数据或者同相关的注释交互。借助反射我们可以获取诸如类实现了那些方法,创建一个类的实例(不同于用new创建),调用一个方法(也不同于常规调用),传递参数,动态调用类的静态方法。
*

**
反射api是php内建的oop技术扩展,包括一些类,异常和接口,综合使用他们可用来帮助我们分析其它类,接口,方法,属性,方法和扩展。这些oop扩展被称为反射,位于php源码/ext/reflection目录下。

可以使用反射api自省反射api本身(这可能就是反射最初的意思,自己“看”自己):

<?php
echo "<pre>";
Reflection::export(new ReflectionExtension('Reflection'));
?>

几乎所有的反射api都实现了reflector接口,所有实现该接口的类都有一个export方法,该方法打印出参数对象的相关信息。
使用get_declared_classes()获取所有php内置类,get_declared_interfaces();
get_defined_functions();
get_defined_vars(); get_defined_constants();可获取php接口,方法,变量,常量信息。

**


阅读全文
0 0