zoukankan      html  css  js  c++  java
  • 反射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()  
  • 相关阅读:
    TCP拥塞控制算法纵横谈-Illinois和YeAH
    精度解析百思不得姐流行框架之精华版
    3D物体识别的如果检验
    Android内存泄漏检測与MAT使用
    Android学习——在Android中使用OpenCV的第一个程序
    virtio-netdev 数据包的发送
    【剑指Offer学习】【面试题23:从上往下打印二叉树】
    纵谈进程枚举
    《谈学单片机有前途还是嵌入式系统有前途》一文吴坚鸿回复整理
    结构类模式(七):代理(Proxy)
  • 原文地址:https://www.cnblogs.com/setevn/p/7798547.html
Copyright © 2011-2022 走看看