PHP反射机制用法实例代码
程序员文章站
2022-05-04 09:20:56
...
这篇文章主要介绍了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反射机制用法实例代码的详细内容,更多请关注其它相关文章!
上一篇: Yii学习总结之数据访问对象 (DAO)_php实例
下一篇: oracle数据库如何重建索引
推荐阅读
-
WordPress主题中添加文章列表页页码导航的PHP代码实例_PHP
-
Codeigniter的dom类用法实例_PHP教程
-
PHP动态输出JavaScript代码实例,phpjavascript_PHP教程
-
PHP获取IP、IP所在地址与连接数实例代码
-
代码实例说明php中switch的用法
-
YII2.0之Activeform表单组件用法实例_php实例
-
php专用数组排序类ArraySortUtil用法实例_php技巧
-
PHP setTime 设置当前时间的代码_php实例
-
php/js获取客户端mac地址的实现代码_php实例
-
使用 eAccelerator加速PHP代码的方法_php实例