類的另類用法--數據的封裝
一般的情況下,如果使用classname::property是不能訪問到類的屬性的,但可以用classname::method()使用類的方法。同樣的也不能用objectname->property訪問到類的方法裡的變量。利用這一特點,我們可以將一些數據保存於類中,有點象c++的私有屬性。
<?
class data {
function value($var) {
static $d = array();
if(func_num_args() > 1) {
$d[$var] = func_get_arg(1);
}else {
return $d[$var];
}
}
}
//測試:
data::value("a",1);
data::value("b",2);
echo data::value("a");
echo data::value("b");
?>