色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP反射機制用法實例

本文實例講述了php反射機制的用法,分享給大家供大家參考之用。具體方法如下:

演示示例代碼如下所示:

<?phpclass 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類來實現他的方法。

同樣的,如下的代碼也是能夠運行的:

<?phpclass 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反射機制用法實例,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 井陉县| 奎屯市| 抚顺市| 滨州市| 竹山县| 承德市| 广平县| 磐石市| 伽师县| 武定县| 保靖县| 甘南县| 合作市| 衡阳市| 乌鲁木齐市| 禄劝| 那曲县| 望都县| 黄骅市| 木兰县| 建瓯市| 昂仁县| 新闻| 娱乐| 平塘县| 铜川市| 黄梅县| 田东县| 增城市| 阿拉善右旗| 厦门市| 固安县| 双流县| 鄂伦春自治旗| 阿拉尔市| 松滋市| 红河县| 北京市| 密云县| 正定县| 垣曲县|