PHP反射机制用法实例
2023-06-13 09:15:44 时间
本文实例讲述了PHP反射机制的用法,分享给大家供大家参考之用。具体方法如下:
演示示例代码如下所示:
<?php classClassOne{ functioncallClassOne(){ print"InClassOne"; } } classClassOneDelegator{ private$targets; function__construct(){ $this->target[]=newClassOne(); } function__call($name,$args){ foreach($this->targetas$obj){ $r=newReflectionClass($obj); if($method=$r->getMethod($name)){ if($method->isPublic()&&!$method->isAbstract()){ return$method->invoke($obj,$args); } } } } } $obj=newClassOneDelegator(); $obj->callClassOne(); ?>
输出结果:
InClassOne
可见,通过代理类ClassOneDelegator来代替ClassOne类来实现他的方法。
同样的,如下的代码也是能够运行的:
<?php classClassOne{ functioncallClassOne(){ print"InClassOne"; } } classClassOneDelegator{ private$targets; functionaddObject($obj){ $this->target[]=$obj; } function__call($name,$args){ foreach($this->targetas$obj){ $r=newReflectionClass($obj); if($method=$r->getMethod($name)){ if($method->isPublic()&&!$method->isAbstract()){ return$method->invoke($obj,$args); } } } } } $obj=newClassOneDelegator(); $obj->addObject(newClassOne()); $obj->callClassOne(); ?>
希望本文所述对大家的PHP程序设计有所帮助。
相关文章
- MongoDB系列教程(六):java操作mongodb实例
- 数据库PHP编程实现从Oracle数据库读取数据(php读取oracle)
- PHP如何使用Redis连接: 代码实例(php连接redis代码)
- 联合MySQL与PHP:双剑合璧(mysql与php)
- Redis现在支持PHP啦!(redis支持php)
- 使用PHP实现Redis快速构建应用(redis实例php)
- 使用PHP实现Redis分布式缓存(php实例化redis)
- 使用PHP 驱动MSSQL支撑稳固的开发环境(php mssql 驱动)
- 基于 PHP 和 MSSQL 的连接类开发实战(php mssql连接类)
- PHP如何正确配置MongoDB数据库连接?(php配置mongodb)
- 解决方案使用多个Redis实例实现安全的数据同步(多个redis实例同步)
- 用PHP+MySQL搭建聊天室功能实例代码
- C#几种获取网页源文件代码的实例
- ASP.NET加密口令的方法实例
- php后台如何避免用户直接进入方法实例
- 通过代理类实现java连接数据库(使用dao层操作数据)实例分享
- js中的setInterval和setTimeout使用实例
- 纯Python开发的nosql数据库CodernityDB介绍和使用实例
- PHP反射使用实例和PHP反射API的中文说明