最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP 反射機制實現(xiàn)動態(tài)代理的代碼

 更新時間:2008年10月22日 21:53:57   作者:  
通過代理類ClassOneDelegator來代替ClassOne類來實現(xiàn)他的方法。
演示用代碼如下所示: 
復(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
可見,通過代理類ClassOneDelegator來代替ClassOne類來實現(xià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();
?>

相關(guān)文章

  • php日期轉(zhuǎn)時間戳,指定日期轉(zhuǎn)換成時間戳

    php日期轉(zhuǎn)時間戳,指定日期轉(zhuǎn)換成時間戳

    UNIX時間戳和格式化日期是我們常打交道的兩個時間表示形式,Unix時間戳存儲、處理方便,但是不直觀,格式化日期直觀,但是處理起來不如Unix時間戳那么自如,所以有的時候需要互相轉(zhuǎn)換,下面給出PHP日期轉(zhuǎn)時間戳、MySQL日期轉(zhuǎn)換函數(shù)互相轉(zhuǎn)換的幾種轉(zhuǎn)換方式
    2012-07-07
  • php XPath對XML文件查找及修改實現(xiàn)代碼

    php XPath對XML文件查找及修改實現(xiàn)代碼

    php XPath對XML文件查找及修改實現(xiàn)代碼,需要的朋友可以參考下。
    2011-07-07
  • 解決phpmyadmin中文亂碼問題。。。

    解決phpmyadmin中文亂碼問題。。。

    解決phpmyadmin中文亂碼問題。。。...
    2007-01-01
  • php擴展Zend?Framework框架——Validate擴展

    php擴展Zend?Framework框架——Validate擴展

    這篇文章介紹了php擴展Zend?Framework框架,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2008-01-01
  • php數(shù)組轉(zhuǎn)成json格式的方法

    php數(shù)組轉(zhuǎn)成json格式的方法

    這篇文章主要介紹了php數(shù)組轉(zhuǎn)成json格式的方法,實例分析了php操作數(shù)組及json格式數(shù)據(jù)的方法,需要的朋友可以參考下
    2015-03-03
  • 用php獲取遠程圖片并把它保存到本地的代碼

    用php獲取遠程圖片并把它保存到本地的代碼

    Function: 獲取遠程圖片并把它保存到本地 確定您有把文件寫入本地服務(wù)器的權(quán)限變量說明: $url 是遠程圖片的完整URL地址,不能為空。 $filename 是可選變量: 如果為空,本地文件名將基于時間和日期 自動生成.
    2008-04-04
  • PHP封裝cURL工具類與應(yīng)用示例

    PHP封裝cURL工具類與應(yīng)用示例

    這篇文章主要介紹了PHP封裝cURL工具類與應(yīng)用,結(jié)合實例形式分析了php基于面向?qū)ο蠓庋b的curl請求、響應(yīng)、參數(shù)設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • 讓PHP支持頁面回退的兩種方法[轉(zhuǎn)]

    讓PHP支持頁面回退的兩種方法[轉(zhuǎn)]

    讓PHP支持頁面回退的兩種方法[轉(zhuǎn)]...
    2007-02-02
  • PHP創(chuàng)建XML接口示例

    PHP創(chuàng)建XML接口示例

    這篇文章主要介紹了PHP創(chuàng)建XML接口,結(jié)合實例形式分析了php數(shù)據(jù)庫查詢及xml格式數(shù)據(jù)構(gòu)造相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • JavaScript實現(xiàn)滾動欄效果的方法

    JavaScript實現(xiàn)滾動欄效果的方法

    這篇文章主要介紹了JavaScript實現(xiàn)滾動欄效果的方法,涉及javascript操作html元素實現(xiàn)滾動的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04

最新評論

海宁市| 潍坊市| 石棉县| 咸宁市| 民丰县| 安远县| 五家渠市| 弋阳县| 临夏市| 龙胜| 玛纳斯县| 那坡县| 洪湖市| 英吉沙县| 慈利县| 池州市| 军事| 垫江县| 新乡市| 顺平县| 高唐县| 会理县| 汕头市| 同仁县| 华蓥市| 常山县| 云阳县| 彭阳县| 连山| 武城县| 宁夏| 自治县| 仙居县| 上杭县| 汶川县| 北辰区| 濉溪县| 广东省| 衡南县| 洛扎县| 明星|