一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP 反射機(jī)制實(shí)現(xiàn)動(dòng)態(tài)代理的代碼

演示用代碼如下所示: 
復(fù)制代碼 代碼如下:
<?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();
?>

輸出結(jié)果:
In Class One
可見(jiàn),通過(guò)代理類(lèi)ClassOneDelegator來(lái)代替ClassOne類(lèi)來(lái)實(shí)現(xiàn)他的方法。
同樣的,如下的代碼也是能夠運(yùn)行的:
復(fù)制代碼 代碼如下:
<?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技術(shù)PHP 反射機(jī)制實(shí)現(xiàn)動(dòng)態(tài)代理的代碼,轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 久久伊人五月天 | 在线久| 色狠狠一区二区三区香蕉蜜桃 | 亚洲美女网站 | 成人福利免费视频 | 久久逼逼| va免费视频 | 日美女网站 | 国产成人 免费观看 | 91九色视频 | 国产精品亚洲片夜色在线 | 人人做人人爽人人爱影视 | 美女无遮挡免费视频 | 欧美一级在线全免费 | 日本激情视频网站w | 网站免费满18成年在线观看 | 加勒比东洋精品映画防屏蔽 | 成人狠狠色综合 | 91精品免费久久久久久久久 | 天天色综网| 久草热在线视频 | 色综久久天天综合绕视看 | 久久伊人五月天 | www日本高清视频 | 巨人导航收录500精品 | 精品小视频在线观看 | 91成人在线视频 | 国产91一区二区在线播放不卡 | 五月天色视频 | 精品日韩欧美国产一区二区 | 国产伦精品一区二区三区视频小说 | 日本精品一区二区三区在线观看 | 欧美人与禽交片在线观看网站 | 一区二区在线观看视频在线 | 国产欧美一区二区精品性色tv | 午夜综合网 | 精品区| 亚洲第一区精品观看 | 精品久久久久久乐 | 久久婷婷五色综合夜啪 | 亚洲国产成人精品女人久久久 |