PHP反射机制用法实例
2015-01-24信息快讯网
这篇文章主要介绍了PHP反射机制用法,是PHP程序设计中比较重要的概念,需要的朋友可以参考下
本文实例讲述了PHP反射机制的用法,分享给大家供大家参考之用。具体方法如下:
演示示例代码如下所示:
<?php class ClassOne { function callClassOne() { print "In Class One"; } } class ClassOneDelegator { private $targets; function __construct() { $this->target[] = new ClassOne(); } function __call($name, $args) { foreach ($this->target as $obj) { $r = new ReflectionClass($obj); if ($method = $r->getMethod($name)) { if ($method->isPublic() && !$method->isAbstract()) { return $method->invoke($obj, $args); } } } } } $obj = new ClassOneDelegator(); $obj->callClassOne(); ?>
输出结果:
In Class One
可见,通过代理类ClassOneDelegator来代替ClassOne类来实现他的方法。
同样的,如下的代码也是能够运行的:
<?php class ClassOne { function callClassOne() { print "In Class One"; } } class ClassOneDelegator { private $targets; function addObject($obj) { $this->target[] = $obj; } function __call($name, $args) { foreach ($this->target as $obj) { $r = new ReflectionClass($obj); if ($method = $r->getMethod($name)) { if ($method->isPublic() && !$method->isAbstract()) { return $method->invoke($obj, $args); } } } } } $obj = new ClassOneDelegator(); $obj->addObject(new ClassOne()); $obj->callClassOne(); ?>
希望本文所述对大家的PHP程序设计有所帮助。
php导入excel文件到mysql数据库的方法
php+mysql查询优化简单实例
php5.4以下版本json不支持不转义内容中文的解决方法
php正则匹配html中带class的div并选取其中内容的方法
PHP针对JSON操作实例分析
php基于表单密码验证与HTTP验证用法实例
phplot生成图片类用法详解
php中fsockopen用法实例
php支付宝接口用法分析
php下pdo的mysql事务处理用法实例
php+MySQL判断update语句是否执行成功的方法
PHP对象相互引用的内存溢出实例分析
PHP对象递归引用造成内存泄漏分析
PHP中cookie和session的区别实例分析
PHP实现视频文件上传完整实例
PHP获取表单所有复选框的值的方法
PHP面向对象程序设计之类常量用法实例
PHP面向对象程序设计之接口用法
PHP Session机制简介及用法
YII路径的用法总结
Thinkphp中import的几个用法详细介绍