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

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 One
可見,通過代理類ClassOneDelegator來代替ClassOne類來實現他的方法。
同樣的,如下的代碼也是能夠運行的:
復制代碼 代碼如下:
<?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 反射機制實現動態代理的代碼,轉載需保留來源!

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

主站蜘蛛池模板: 欧美精品无需播放器在线观看 | 婷婷色亚洲 | 亚洲免费视频网站 | 精品视频99 | 黄色网址免费在线播放 | 婷婷开心激情 | 日本在线加勒比 | 免费看的www视频网站视频 | 久久综合色婷婷 | 快播黄色 | 久久久久亚洲国产 | 九九九精品在线观看 | 91精品国产高清91久久久久久 | 成人成人性区 | 一本色道久久综合狠狠躁 | 免费国产视频 | 91狠狠操 | 日韩精品视频在线 | 久久国产美女免费观看精品 | 福利视频99| 亚洲区激情区图片小说区 | 国产精品毛片一区二区三区 | 精品国产免费人成网站 | 欧美另类videosbestsex视频 | 激情文学图片 | 色狠狠成人综合色 | 色哟哟小说 | 国产成人在线视频网站 | 国产高清自拍视频 | 国产视频播放 | 中文字幕一区二区三区精彩视频 | 国产视频91在线 | 日本一本在线视频 | 2021国内精品久久久久久影院 | 欧美成人精品久久精品 | 四虎永久免费地址在线观看 | 五月婷婷欧美 | 四虎国产精品免费视 | 欧洲成人r片在线观看 | 综合在线视频 | 91丨九色丨首页在线观看 |