PHP反射有什么作用,反射使用技巧有哪些
Admin 2022-10-13 群英技术资讯 716 次浏览
PHP 5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。
1.反射有什么作用
反射可以用作文档生成。 反射可以做hook插件功能或者动态代理
通过反射我们可以得到一个类的相关属性:
常量 Contants 属性 Property Names 方法 Method Names静态 属性 Static Properties 命名空间 Namespace Person类是否为final或者abstract
2.如何使用反射
2.1获得反射
如下有一个简单的Person类
<!–?php
class Person {
protected $name ;
protected $age;
public function getName() {
return $this—>name;
}
public static function getAge() {
return $this->age;
}
}
我们只需要把类名’Person’传给ReflectionClass即可得到Person的反射。
$class = new ReflectionClass(‘Person’);
$instance = $class->newInstanceArgs();
2.2获取属性
$properties = $class->getProperties();
foreach ( $properties as $pro ) {
echo $pro->getName().”\n”;
}
输出如下:
2.3获取方法
$method = $class->getMethods();
var_dump($method);
输出如下:
2.4执行类的方法
$getName = $method[0];
$getName->invoke($instance);
//或者
$instance->getName();
上述就可以执行类中的方法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Thinkphp5.0框架的Db操作,结合实例形式分析了thinkPHP5使用Db库实现数据库的连接、增删改查及链式操作等相关使用技巧,需要的朋友可以参考下
php框架的底层原理:1、PHP实现了典型的动态语言执行过程。2、底层原理分析,Zend整体是纯c实现的,是PHP的核心部分,将PHP代码翻译,实现opcode的处理。
PHP怎么实现不带命名空间的类名?在学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
本文算术练习的问题是“编写一个PHP程序来计算两个给定整数值的总和,如果两个值相同,则返回其总和的三倍”。下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
项目说明数组导出CSV,ZIP文件,CSV,ZIP文件还原数组(阵列导出文件,文件恢复阵列)适用于导入导出会员,商品信息所有配置项ExecData中配置注意:读取中文文件名文件,数据时需要注意本地区域设置写入文件数据是UTF-8,设置 FetchFile类中fetchFile()函数中setlocale(LC_ALL,'US')才可读取到数据; 测试平台为WIN,其他平台未测试; 如果
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008