反射API提供的常用类和函数

ReflectionParameter 取回了函数或方法参数的相关信息。

{//要自行检查函数的参数,首先创建一个 ReflectionFunction 或 ReflectionMethod 的 实例,然后使用它们的 ReflectionFunctionAbstract::getParameters() 方法来获取参数的数组。}

1:Reflection

  public static export(Reflector r [,bool return])//打印类或方法的详细信息

  public static  getModifierNames(int modifiers)  //取得修饰符的名字

2:ReflectionMethod:

public static string export()                       //打印该方法的信息

public mixed invoke(stdclass object, mixed* args)   //调用对应的方法

public mixed invokeArgs(stdclass object, array args)//调用对应的方法,传多参数

public bool isFinal()        //方法是否为final

public bool isAbstract()     //方法是否为abstract

public bool isPublic()       //方法是否为public

public bool isPrivate()      //方法是否为private

public bool isProtected()    //方法是否为protected

public bool isStatic()       //方法是否为static

public bool isConstructor()  //方法是否为构造函数

3:ReflectionClass:

public static string export()  //打印类的详细信息

public string getName()        //取得类名或接口名

public bool isInternal()       //类是否为系统内部类

public bool isUserDefined()    //类是否为用户自定义类

public bool isInstantiable()   //类是否被实例化过

public bool hasMethod(string name)  //类是否有特定的方法

public bool hasProperty(string name)//类是否有特定的属性

public string getFileName()         //获取定义该类的文件名,包括路径名

public int getStartLine()           //获取定义该类的开始行

public int getEndLine()             //获取定义该类的结束行

public string getDocComment()       //获取该类的注释

public ReflectionMethod getConstructor()           //取得该类的构造函数信息

public ReflectionMethod getMethod(string name)     //取得该类的某个特定的方法信息

public ReflectionMethod[] getMethods()             //取得该类的所有的方法信息

public ReflectionProperty getProperty(string name) //取得某个特定的属性信息

public ReflectionProperty[] getProperties()        //取得该类的所有属性信息

public array getConstants()                        //取得该类所有常量信息

public mixed getConstant(string name)              //取得该类特定常量信息

public ReflectionClass[] getInterfaces()           //取得接口类信息

public bool isInterface()  //测试该类是否为接口

public bool isAbstract()   //测试该类是否为抽象类

4:ReflectionParameter:

public static string export()     //导出该参数的详细信息

public string getName()           //取得参数名

public bool isPassedByReference() //测试该参数是否通过引用传递参数

public ReflectionClass getClass() //若该参数为对象,返回该对象的类名

public bool isArray()             //测试该参数是否为数组类型

public bool allowsNull()          //测试该参数是否允许为空

public bool isOptional()          //测试该参数是否为可选的,当有默认参数时可选

public bool isDefaultValueAvailable() //测试该参数是否为默认参数

public mixed getDefaultValue()        //取得该参数的默认值

5:ReflectionExtension类

public static  export()    //导出该扩展的所有信息

public string getName()    //取得该扩展的名字

public string getVersion() //取得该扩展的版本

public ReflectionFunction[] getFunctions()   //取得该扩展的所有函数

public array getConstants()  //取得该扩展的所有常量

public array getINIEntries() //取得与该扩展相关的,在php.ini中的指令信息

6:ReflectionFunction类

final private __clone()  
public object __construct(string name)  
public string __toString()  
public static string export()  //导出该函数的详细信息  
public string getName()  //取得函数名  
public bool isInternal()  //测试是否为系统内部函数  
public bool isUserDefined()  //测试是否为用户自定义函数  
public string getFileName()  //取得文件名,包括路径名  
public int getStartLine()  //取得定义函数的起始行  
public int getEndLine()  //取得定义函数的结束行  
public string getDocComment()  //取得函数的注释  
public array getStaticVariables()  //取得静态变量  
public mixed invoke(mixed* args)  //调用该函数,通过参数列表传参数  
public mixed invokeArgs(array args)  //调用该函数,通过数组传参数  
public bool returnsReference()  //测试该函数是否返回引用  
public ReflectionParameter[] getParameters()  //取得该方法所需的参数,返回值为对象数组  
public int getNumberOfParameters()  //取得该方法所需的参数个数  
public int getNumberOfRequiredParameters()  //取得该方法所需的参数个数  
7:ReflectionProperty类:

final private __clone()  
public __construct(mixed class, string name)  
public string __toString()  
public static string export()  //导出该属性的详细信息  
public string getName()  //取得该属性名  
public bool isPublic()  //测试该属性名是否为public  
public bool isPrivate()  //测试该属性名是否为private  
public bool isProtected()  //测试该属性名是否为protected  
public bool isStatic()  //测试该属性名是否为static  
public bool isDefault()  
public int getModifiers()  //取得修饰符  
public mixed getValue(stdclass object)  //取得该属性值  
public void setValue(stdclass object, mixed value)  //设置该属性值  
public ReflectionClass getDeclaringClass()  //取得定义该属性的类  
public string getDocComment()  //取得该属性的注释

8:ReflectionExtension类

final private __clone()  
public __construct(string name)  
public string __toString()  
  
public static string export()  //导出该扩展的所有信息  
public string getName()  //取得该扩展的名字  
public string getVersion()  //取得该扩展的版本  
public ReflectionFunction[] getFunctions()  //取得该扩展的所有函数  
public array getConstants()  //取得该扩展的所有常量  
public array getINIEntries()  //取得与该扩展相关的,在php.ini中的指令信息  
public ReflectionClass[] getClasses()  
public array getClassNames()

时间: 2024-08-30 10:28:23

反射API提供的常用类和函数的相关文章

Java基础----Java API中的常用类

System:描述系统的一些信息 preperties();获取系统信息 Properties prop =new System.getProperties(); 是hashtable 的子类.用map的方法去除该类集合中的元素.该集合中存储的都是字符串,没有泛型定义. String calue=(String)prop.get(obj); System.out.println(obj+":"+value); //如何在系统中自定义一些特有信息? System.setProperty(

【夯实PHP基础】PHP常用类和函数总结

本文地址 代码提纲: 1. 字符串处理类及函数 2. 数组处理类及函数 3 .web处理类及函数 将常用的PHP的类和函数总结到这里,主要是 自己用过的,比较有感觉. 1. [字符串处理] 1)[utf8字符转gbk]   1 function TransUTF8ToGBK($str) 2 { 3 4 $encode = mb_detect_encoding($str, array('UTF-8', 'GBK')); 5 if ($encode == 'UTF-8') 6 { 7 $str =

PHP反射API (转)

http://www.cnblogs.com/zyf-zhaoyafei/p/4922893.html 近期忙着写项目,没有学习什么特别新的东西,所以好长时间没有更新博客.我们的项目用的是lumen,是基于laravel的一个轻量级框架,我看到里面用到了一些反射API机制来帮助动态加载需要的类.判断方法等,所以本篇文章就把在PHP中经常用到的反射API给大家分享一下吧,想学习反射API的同学可以看看. 说起反射ApI,自我感觉PHP中的反射ApI和java中的java.lang.reflect包

详解PHP反射API

原文:详解PHP反射API PHP中的反射API就像Java中的java.lang.reflect包一样.它由一系列可以分析属性.方法和类的内置类组成.它在某些方面和对象函数相似,比如get_class_vars(),但是更加灵活,而且可以提供更多信息.反射API也可与PHP最新的面向对象特性一起工作,如访问控制.接口和抽象类.旧的类函数则不太容易与这些新特性一起使用.看过框架源码的朋友应该对PHP的反射机制有一定的了解,像是依赖注入,对象池,类加载,一些设计模式等等,都用到了反射机制. 1.

Java之常用类及方法

下面我们介绍Java类库所提供的常用类及类的常用方法 一.java.lang.String 1. String类常用的构造函数 public String(String original) 使用串对象original,创建字符串对象,其中original可以是字符串常量或字符串对象 public String(char value[]) 使用字符数组value,创建一个字符串对象 public String(char value[],int offset,int count) 从字符数组valu

Java常用类及反射,类加载

1.系统相关类 Java提供了System类和Runtime类来与程序运行的平台进行交互 A.System类代表当前Java程序的运行平台 a. System类是一个final类,该类的所有属性和方法都是静态的.可以不创建对象直接调用 b.属性:in .out .err c.常用方法: currentTimeMillis().exit().getProperties(). gc() B. Runtime类代表Java程序的运行时环境 注意: 应用程序不能创建自己的Runtime实例,但是可以通过

string类以及其常用的成员函数

标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用.现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废话少说,直接进入正题吧!要想使用标准C++中string类,必须要包含#include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件using  std::string;using  std::wstring;或using namespace std; string类的

异常处理、常用类、Java集合框架、反射

异常处理: 1.  异常:程序在执行过程中所产生的问题. 异常的三种类:①检查异常:又叫checdked异常或者受检异常.通常是用户错误或者不能被程序员所预见的问题.检查异常需要被解决之后才能通过编译. ②运行时异常:程序在运行过程中可能发生的.可以被程序员所避免的异常类型. ③错误:事实上错误不是异常,但却是用户和程序员无法控制的问题. 2.  异常的控制流程: 异常是被一个方法抛出的对象. (1) 处理异常的三个方法:①捕获这个异常,不让它沿着调用栈继续向下抛. ②捕获这个异常,并继续向下抛

[原]Unity3D深入浅出 - 常用类的成员变量和成员函数(Tranform、Time、Random、Mathf、Input)

Transform的成员变量 Transform的成员函数 Time类,获取和时间相关的信息,可用来计算帧速率,调整时间流逝的速度等. Random类,可用来生成随机数,随机点和旋转. Mathf类提供了常用的数学运算 Input类是处理输入的接口: