一、過載效能
1、屬性和方法的過載
php 允許通過實現特殊的**方法對屬性的訪問和方法的呼叫進行過載,這些**方法將在相關的屬性或者方法不存在時呼叫。這種特性讓你在中端這些動作並定義你自己的功能時獲得巨大的靈活性。
你可以實現下面的方法原型:
function __get($property) // 傳遞屬性的名字,並且返回屬性值
function __set($property, $value) // 傳遞屬性的名字和新的值
function __call($method, $args) // 傳遞方法的名字和乙個數字索引的陣列,數字包含傳遞的引數,第乙個引數的索引是0。
class users
function __set($name, $value)
}$user = new users();
$user->a = 'xiezheng';
print $user->a;
__call()具有很多用途,它主要用來監控乙個物件中的其他方法。如果你試著呼叫乙個物件中不存在的方法,__call方法將會被自動呼叫。
class helloworld
}class helloworldcall
function __call($method, $args)
}$hwc = new helloworldcall();
print $hwc->display(3);
2、使用陣列語句訪問的過載。
為了讓你的類能夠過載陣列語句的訪問,你的類需要實現arrayaccess介面。
bool offsetexists($index)
mined offsetget($index)
void offsetset($index, $new_value)
void offsetunset($index)
以上是arrayaccess需要實現的方法。
class users implements arrayaccess
function offsetget($name)
function offsetset($name, $value)
function offsetunset($name)
}$user = new users();
$user['name'] = 'xiezheng';
// unset($user['name']);
print $user['name'];
PHP5權威程式設計 學習筆記
php5權威程式設計 一 如何嵌入到html當中 print hello,world 執行的輸出 如果php有輸出 替換掉php 二 注釋 1 2 3 三 變數 陣列元素或物件的屬性 標誌當字首,以字母或下劃線開始。php不支援全域性變數。變數都被限制到本地範圍,而且如果是在函式中建立的,它們的生存...
PHP5權威程式設計學習筆記
php4中,不使用 construct 作為建構函式的名字,必須使用類的名字定義乙個方法,就像在c 中一樣。php5中,使用新的統一的建構函式命名方式 construct 當然,使用類名同樣也是可以的。但是,你如果兩個同時使用的話,系統缺省會使用 construct 的形式。class person...
PHP5配置選項
在unix平台上安裝基本沒有變化 1.gunzip 5.x.x.tar.gz 2.tar xvf 5.x.x.tar 3.cd 5.x.x 4.configure 5.make 6.make install 7.apachectl restart configure 配置命令取決於安裝步驟可能需要另...