php反射方法信息
<?php
class ReflectionFunction implements Reflector
{
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()
//取得该方法所需的参数个数
}
?>
④ReflectionParameter类:
<?php
class ReflectionParameter implements Reflector
{
final private __clone()
public object __construct(string name)
public string __toString()
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()
//取得该参数的默认值
}
?>
⑤ReflectionClass类:
<?php
class ReflectionClass implements Reflector
{
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 bool isInstantiable()
//测试该类是否被实例化过
public bool hasConstant(string name)
//测试该类是否有特定的常量
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()
//测试该类是否为抽象类
public bool isFinal()
//测试该类是否声明为final
public int getModifiers()
//取得该类的修饰符,返回值类型可能是个资源类型
//通过Reflection::getModifierNames($class->getModifiers())进一步读取
public bool isInstance(stdclass object)
//测试传入的对象是否为该类的一个实例
public stdclass newInstance(mixed* args)
//创建该类实例
public ReflectionClass getParentClass()
//取得父类
public bool isSubclassOf(ReflectionClass class)
//测试传入的类是否为该类的父类
public array getStaticProperties()
//取得该类的所有静态属性
public mixed getStaticPropertyValue(string name [, mixed default])
//取得该类的静态属性值,若private,则不可访问
public void setStaticPropertyValue(string name, mixed value)
//设置该类的静态属性值,若private,则不可访问,有悖封装原则
public array getDefaultProperties()
//取得该类的属性信息,不含静态属性
public bool isIterateable()
public bool implementsInterface(string name)
//测试是否实现了某个特定接口
public ReflectionExtension getExtension()
public string getExtensionName()
}
?>
⑥ReflectionMethod类:
<?php
class ReflectionMethod extends ReflectionFunction
{
public __construct(mixed class, string name)
public string __toString()
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()
//测试该方法是否为构造函数
public bool isDestructor()
//测试该方法是否为析构函数
public int getModifiers()
//取得该方法的修饰符
public ReflectionClass getDeclaringClass()
//取得该方法所属的类
// Inherited from ReflectionFunction
final private __clone()
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 bool returnsReference()
public ReflectionParameter[] getParameters()
public int getNumberOfParameters()
public int getNumberOfRequiredParameters()
}
?>
⑦ReflectionProperty类:
<?php
class ReflectionProperty implements Reflector
{
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()
//取得该属性的注释
}
?>
⑧ReflectionExtension类
<?php
class ReflectionExtension implements Reflector {
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()
}
?>
php反射方法信息的更多相关文章
- 巧用Mono.Cecil反射加载类型和方法信息
最近在做服务的细粒度治理,统一管理所有服务的方法.参数.返回值信息.方便后续的各个模块之间的对接和协作. 目前系统中所有的服务,管理到接口契约粒度,即服务接口声明和服务接口实现.要做服务的细粒度治理: ...
- Java 反射理解(三)-- Java获取方法信息
Java 反射理解(三)-- Java获取方法信息 基本的数据类型.void关键字,都存在类类型. 举例如下: public class ClassDemo2 { public static void ...
- 通过Relect反射方法创建对象,获得对象的方法,输出对象信息
package reflects; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java. ...
- java反射子之获取方法信息(二)
一.获取方法 1.方法作用. 2. 二.获取方法信息.(修饰符,返回值,方法名称,参数列表,抛出的异常). ############################################## ...
- 【转】第7篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:全自动注册与反射方法分析
作者: 牛A与牛C之间 时间: 2013-12-12 分类: 技术文章 | 2条评论 | 编辑文章 主页 » 技术文章 » 第7篇:Xilium CefGlue 关于 CLR Object 与 JS ...
- Javaweb学习笔记——(二十七)——————泛型、泛型的通配符、反射泛型信息、反射注解、注解
泛型 1.泛型类:具有一个或多个类型变量的类,称之为泛型类 class A<T>{ } 2.在创建泛型实例时,需要为其类型变量赋值 A<String> a = new ...
- android黑科技系列——获取加固后应用App的所有方法信息
一.前言 在逆向应用的时候,我们有时候希望能够快速定位到应用的关键方法,在之前我已经详细介绍了一个自己研发的代码动态注入工具icodetools,来进行动态注入日志信息到应用中,不了解的同学可以查看这 ...
- 【转】第6篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:自动注册JS脚本+自动反射方法分析
作者: 牛A与牛C之间 时间: 2013-11-21 分类: 技术文章 | 暂无评论 | 编辑文章 主页 » 技术文章 » 第6篇:Xilium CefGlue 关于 CLR Object 与 JS ...
- 【译】5. Java反射——方法
原文地址:http://tutorials.jenkov.com/java-reflection/methods.html ====================================== ...
随机推荐
- 2 vue 。js
元素option el element 混淆 webpack 项目依赖 save 开发依赖 虚拟dom的问题 在js的基础上封装的,不是jquery 整个网页就一个实例化对象 v 下一张 怎么做 ...
- springboot之assembly的文件配置
一.在使用springboot框架的时候,存在一个问题.就是我们配置yaml文件,需要单独提出来做参数修改.当然这个是可以通过spring.profiles.active的方式来配置dev,prod等 ...
- selenium无法正常运行 Chrome浏览器,cannot find Chrome binary的问题
有些同学在运行selenium-chrome时会遇到这个问题, System.setProperty("webdriver.chrome.driver","files/c ...
- 15-RUN vs CMD vs ENTRYPOINT
RUN.CMD 和 ENTRYPOINT 这三个 Dockerfile 指令看上去很类似,很容易混淆.本节将通过实践详细讨论它们的区别. 简单的说: RUN 执行命令并创建新的镜像层,RUN 经常用于 ...
- Unity 实现一个简单的 TPS 相机
效果如下: 代码如下: public class TPSCamera : MonoBehaviour { /// <summary> /// 目标对象 /// </summary&g ...
- Mysql行转列的简单应用
最近在复习过程中愈发觉得,有些东西久了不用,真的会忘~——~. 将上面的表格转换为下面的表格 我拼sql拼了好久还是没弄出来,还是偶然看到我以前的笔记,才想起有行转列这样的操作(太久没有写过复杂点的s ...
- Web APi 入门例子
http://www.cnblogs.com/guyun/p/4589115.html#what
- Mac下基于testrpc和truffle的以太坊智能合约开发环境搭建
原文地址:石匠的blog truffle是一个基于Javascript开发的一套智能合约开发框架,使用Solidity语言编写合约.truffle有一套自动的项目构建机制,集成了开发,测试和部署的各个 ...
- 查看linux端口对应的进程id
例如:查看占用4040端口的进程 ss -lptn 'sport = :4040'
- nice和renice命令详解
基础命令学习目录首页 进程调度是linux中非常重要的概念.linux内核有一套高效复杂的调度机制,能使效率极大化,但有时为了实现特定的要求,需要一定的人工干预.比如,你希望操作系统能分配更多的CPU ...