色尼玛亚洲综合影院,亚洲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反射機制用法實例,轉載需保留來源!

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

主站蜘蛛池模板: 江安县| 丹东市| 东平县| 盐池县| 鹰潭市| 成都市| 任丘市| 西乌珠穆沁旗| 崇仁县| 磐安县| 武川县| 夏河县| 塔河县| 温泉县| 崇明县| 天柱县| 隆德县| 原阳县| 柳江县| 陇南市| 西乡县| 西城区| 伽师县| 红河县| 新龙县| 年辖:市辖区| 黑河市| 乡宁县| 东丽区| 锦屏县| 武汉市| 民乐县| 平南县| 武城县| 河北区| 朝阳区| 榆树市| 东海县| 太康县| 漯河市| 南漳县|