人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

第11節 重載 [11]

第11節 重載 [11]

更新時間:2022-08-13 文章作者:未知 信息來源:網絡 閱讀次數:


PHP4中已經有了重載的語法來建立對于外部對象模型的映射,就像Java和COM那樣. PHP5帶來了強大的面向對象重載,允許程序員建立自定義的行為來訪問屬性和調用方法.

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

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

__call方法說明了你如何調用未經定義的方法. 你調用未定義方法時,方法名和方法接收的參數將會傳給__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");
?>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 吉安市| 左权县| 贵溪市| 南雄市| 金塔县| 平顺县| 威宁| 土默特右旗| 岗巴县| 永宁县| 革吉县| 明星| 萨迦县| 四川省| 十堰市| 屯留县| 凤庆县| 桐城市| 二手房| 金湖县| 特克斯县| 广元市| 额敏县| 庆云县| 克什克腾旗| 合阳县| 肥东县| 金川县| 深州市| 苍南县| 正镶白旗| 德庆县| 大埔区| 两当县| 临洮县| 阳东县| 铜陵市| 安康市| 清丰县| 桦南县| 沁源县|