《PHP应用:PHP反射机制用法实例》要点:
本文介绍了PHP应用:PHP反射机制用法实例,希望对您有用。如果有疑问,可以联系我们。
本文实例讲述了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 OnePHP应用
可见,通过代理类ClassOneDelegator来代替ClassOne类来实现他的办法.PHP应用
同样的,如下的代码也是能够运行的:PHP应用
<?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应用
维易PHP培训学院每天发布《PHP应用:PHP反射机制用法实例》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。