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

PHP反射機(jī)制用法實(shí)例

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

演示示例代碼如下所示:

<?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();?>

輸出結(jié)果:

In Class One

可見,通過代理類ClassOneDelegator來代替ClassOne類來實(shí)現(xiàn)他的方法。

同樣的,如下的代碼也是能夠運(yùn)行的:

<?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();?>

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

php技術(shù)PHP反射機(jī)制用法實(shí)例,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 晋城| 雷山县| 安多县| 宾阳县| 凤翔县| 新乡市| 杭州市| 榕江县| 桃园县| 灵璧县| 南康市| 水富县| 牟定县| 长宁区| 乌苏市| 高雄市| 黑龙江省| 永登县| 保靖县| 读书| 韶山市| 崇信县| 定结县| 霍林郭勒市| 冷水江市| 海晏县| 仲巴县| 西安市| 绿春县| 城固县| 娄底市| 武鸣县| 临沧市| 德兴市| 旌德县| 雷山县| 三门县| 石阡县| 大丰市| 资阳市| 澳门|