PHP4中已經(jīng)有了重載的語法來建立對于外部對象模型的映射,就像Java和COM那樣. PHP5帶來了強大的面向?qū)ο笾剌d,允許程序員建立自定義的行為來訪問屬性和調(diào)用方法.

重載可以通過__get, " /> 国产精品日韩专区,经典三级在线播放,综合网视频

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

第十一節(jié) 重載 [11]


php4中已經(jīng)有了重載的語法來建立對于外部對象模型的映射,就像Java和COM那樣. php5帶來了強大的面向?qū)ο笾剌d,允許程序員建立自定義的行為來訪問屬性和調(diào)用方法.

重載可以通過__get, __set, and __call幾個特殊方法來進行. 當Zend引擎試圖訪問一個成員并沒有找到時,php將會調(diào)用這些方法.

在例6.14中,__get和__set代替所有對屬性變量數(shù)組的訪問. 如果必要,你可以實現(xiàn)任何類型你想要的過濾. 例如,腳本可以禁止設置屬性值, 在開始時用一定的前綴或包含一定類型的值.

__call方法說明了你如何調(diào)用未經(jīng)定義的方法. 你調(diào)用未定義方法時,方法名和方法接收的參數(shù)將會傳給__call方法, php傳遞__call的值返回給未定義的方法.

Listing 6.14 User-level overloading
<?php
class Overloader
{
private $properties = array();

function __get($property_name)
{
if(isset($this->properties[$property_name]))
{
return($this->properties[$property_name]);
}
else
{
return(NULL);
}
}

function __set($property_name, $value)
{
$this->properties[$property_name] = $value;
}

function __call($function_name, $args)
{
print("Invoking $function_name()<br>n");
print("Arguments: ");
print_r($args);

return(TRUE);
}
}
$o = new Overloader();

//invoke __set() 給一個不存在的屬性變量賦值,激活__set()
$o->dynaProp = "Dynamic Content";

//invoke __get() 激活__get()
print($o->dynaProp . "<br>n");

//invoke __call() 激活__call()
$o->dynaMethod("Leon", "Zeev");
?>

php技術第十一節(jié) 重載 [11],轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 成在线人视频免费视频 | 免费一级片 | 91av在线视频观看 | 亚洲第一在线 | 久久婷婷国产 | 色婷婷激情 | 免费一级淫片aaa片毛片a级 | 日韩欧美一区在线 | 久久久久久久久久性 | 亚洲一区在线日韩在线深爱 | 久久一本 | h肉视频 | 中文字幕一区在线观看视频 | 亚洲国产精品视频一区 | 免费在线播放黄色 | 91久久国产综合久久 | 在线激情视频 | 国产激情视频在线 | 久久九精品 | 国产精品国产三级国产aⅴ无密码 | 日韩中文字幕在线视频观看 | 美女久久久久久久久 | 国产成人精品一区二区三 | 中文字幕动漫成人 | av中文在线播放 | 在线免费观看视频黄 | 欧美色图综合网 | 亚洲高清视频一区二区 | www国产成人免费观看视频 | 日韩在线不卡视频 | 精品一区二区三区四区五区 | 国产精品久久久久久久久久 | 伊人狠狠操 | 国产免费拔擦拔擦8x高清 | 日韩高清国产一区在线 | 亚洲欧美精品久久 | 一级毛片免费完整视频 | 亚洲自拍偷拍视频 | 久久精品亚洲欧美日韩精品中文字幕 | 女人夜夜春 | 视频一区在线观看 |