四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

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 反射機制實現動態代理的代碼,轉載需保留來源!

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

主站蜘蛛池模板: 青春校园大尺度床戏| 禁忌爱情| 钉子电影电视剧| 朱莉与朱莉娅| 第五单元初试身手| 男女打扑克视频网站| 深圳古镇| 托比蜘蛛侠| 老友记 第一季 1994 詹妮弗·安妮斯顿 | 思念天边的你简谱| 色在线视频观看| 莴笋是发物吗| 变形金刚2演员表| 福利视频观看| 40集电视剧陈一龙| ?1,| 光明力量2古代封印攻略| jar of love完整版| 运气旺的微信头像图片| 过客图片| 一千零一夜凯瑟林| 贝利亚抱住奥特之母完整版| 抖音入口| 湖南卫视节目表| 散文诗二首批注| 书柜效果图大全2023款| 情人电视剧| 相声剧本(适合学生)| 夜色斗僵尸| 贾樟柯对毕赣的评价| 电影《ol3》完整版在线观看| 打美女屁股视频| 小猪佩奇最新第十季| 花守由美里| 钱婧| 陈稳| 姐姐的秘密电影| 冷暖人间第一部| 命运的逆转| 推普周主题班会活动记录| 冷血惊魂|