什么是php反射类,顾名思义,可以理解为一个类的映射。
举个例子:
class fuc {//定义一个类
static function ec() {
echo'我是一个类';
}
}
$class=new ReflectionClass('fuc'); //建立 fuc这个类的反射类
echo $class; //输出这反射类
Class [ <user>class A ] { @@ F:\phpweb\myPHP\test.php 23-30 - Constants [0] { } - Static properties [0] { } - Static methods [0] { } - Properties [0] { } - Methods [1] { Method [ <user ctor="">public method __construct ] { @@ F:\phpweb\myPHP\test.php 26 - 29 } } }</user></user>
$fuc=$class->newInstance();//相当于实例化 fuc 类
$fuc->ec();//执行 fuc 里的方法ec
/*最后输出:我是一个类*/
其中还有一些更高级的用法
$ec=$class->getmethod('ec');//获取fuc 类中的ec方法
$fuc=$class->newInstance();//实例化
$ec->invoke($fuc);//执行ec 方法
上面的过程很熟悉吧。其实和调用对象的方法类似
只不过这里是反着来的,方法在前,对象在后
举例
分享到:
相关推荐
主要介绍了php反射类ReflectionClass用法,结合实例形式较为详细的分析了php反射类的概念、功能与具体使用方法,需要的朋友可以参考下
PHP反射类ReflectionClass和ReflectionObject
主要介绍了PHP的反射类ReflectionClass、ReflectionMethod使用实例,本文同时介绍了反射是什么、反射可以做哪些事情,并给出一个具体例子,是一篇不错的入门文章,需要的朋友可以参考下
PHP ReflectionClass Api
3.== 弱类型与路径问题 5.三目运算符的理解+变量覆盖 8.and与&&的区别+反射类ReflectionClass的使用 3.== 弱类型与路径问题
本文实例讲述了PHP类的反射用法。分享给大家供大家参考。具体实现方法如下: 该例实现对于每个频道获取相应的类来执行相应的操作。具体如下: 复制代码 代码如下:foreach($this->chs as $ch) { $className = $this...
本文实例讲述了PHP实现懒加载的方法。分享给大家供大家参考。...通过PHP的反射类 ReflectionClass 可以直接获得对应类的一个反射类: test.php文件如下: <?php class test{ public function showName(){
本文实例讲述了Laravel框架源码解析之反射的使用。分享给大家供大家参考,具体如下: 前言 PHP的反射类与实例化对象作用相反,实例化是调用封装类中...这里列举下PHP反射类常用的方法 方法名 注释 ReflectionCl
本文实例讲述了PHP反射。分享给大家供大家参考,具体如下: 今天开始学习php 的反射,许多人可能还没有听说过反射这个概念,简单点说反射的就是让你拥有剖析类、函数的能力。 有的同学可能会问我剖析类有什么用,我...
本文实例讲述了PHP基于反射获取一个类中所有的方法。分享给大家供大家参考,具体如下: 当我们使用一个类时既没有源码也没有文档时(尤其是php扩展提供的类,比如mysqli,Redis类),我们该怎么知道这个类中提供了...
ReflectionClass类报告了一个类的有关信息 输出结果为:name say __set __get 也可以用class函数,获取对象属性的关联数组的信息 通过class()函数获取类的信息 打印结果: 通过这个反射API,可以做hook实现插件...
主要介绍了PHP 反射(Reflection)使用实例,本文讲解了ReflectionClass、ReflectionExtension、 ReflectionFunction、ReflectionMethod、ReflectionObject、ReflectionParameter等类的使用实例,需要的朋友可以参考下
这个库通过缺少的 ReflectionFile 类补充了 PHP 。 其他一些库已经可以做到这一点,但是这个库实现了我能找到的其他实现中缺少的一个重要功能:根据解析本地类型名称。 界面非常简单: ReflectionFile { ...
今天在推上看到一条获取PHP类私有属性的推文,感觉很有意思: 顺着推文联想,还有其他方式吗?经过自己的测试及网上答案,总结出三种方法: 1. 反射 反射可以获取类的详细信息,要获取私有属性的值,只需将对应...
PHP系统自带的 ReflectionClass、ReflectionMethod 类,可以反射用户自定义类的中属性,方法的权限和参数等信息,通过这些信息可以准确的控制方法的执行。 ReflectionClass: 主要用的方法: hasMethod(string) 是否...
:warning: 该软件包已被放弃,请考虑迁移到其他方法,例如roave/better-reflection 。 仍对教义有用的功能已移至doctrine/persistence :warning: ... 它使您可以静态获取有关类,方法和属性的反射信息。 更多资源: