您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 拉萨分类信息网,免费分类信息发布

如何实现php反射机制代码详解

2025/9/1 5:49:59发布20次查看
通过代理类classonedelegator来代替classone类来实现他的方法。
演示用代码如下所示: 
<?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 add object ($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反射机制代码详解的详细内容。
拉萨分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product