91亚洲精华国内精华精华液_国产高清在线精品一区不卡_精品特级一级毛片免费观看_欧美日韩中文制服有码_亚洲精品无码你懂的网站369

雖然 PHP5 還沒有正式發(fā)布(開發(fā)版本已經(jīng)提供下載),但我們現(xiàn)在就可以開始體驗一下新的版本 將要帶給我們的驚喜。在以下的介紹中,我們將重點講述PHP5 中的三大特色功能。這三大特點為:

* 新的對象模式 (New Object Mode)

* 異常處理 (Exceptions)

* 名稱空間 (Namespace)

在開始之前,要聲明兩點:

* 文章中的例子為了說明如何操作,有些部分使用了 PHP4 的表現(xiàn)手段,這僅僅是為了提高文章的可讀性。* 文章中描述的部分與 PHP5 的最終發(fā)布版可能會有一些出入

在 PHP5 沒有最終正式發(fā)布前,你可以隨時從 http://snaps.php.net 下載到最新的編譯版本來親自體驗一下 PHP5 所帶給我們這些嶄新的功能。

新的對象模式

PHP5 中的對象已經(jīng)進(jìn)行了較系統(tǒng)、較全面的調(diào)整,現(xiàn)在的樣子可能看起來會有些類似于 Java。本小節(jié)著重講述 PHP5 中新的對象模式,并舉了一些較簡易的例子來說明。就讓本節(jié)成為你的 PHP5 之旅的一個新起點吧。

* 構(gòu)造函數(shù)和析構(gòu)函數(shù)

* 對象的引用

* 對象的克隆

* 對象中的私有、公共及受保護(hù)模式

* 接口 (Interfaces)

* 抽象類

* __call

* __set 和 __get

* 靜態(tài)成員

構(gòu)造函數(shù)和析構(gòu)函數(shù)

在 PHP4 中,當(dāng)函數(shù)與對象同名時,這個函數(shù)將成為該對象的構(gòu)造函數(shù),并且在 PHP4 中沒有析構(gòu)函數(shù)的概念。

在 PHP5 中,構(gòu)造函數(shù)被統(tǒng)一命名為 __construct,并且引入了析構(gòu)函數(shù)的概念,被統(tǒng)一命名為 __destruct。

例一:構(gòu)造函數(shù)和析構(gòu)函數(shù)

x = $x;
}
function display() {
  print($this->x);
}
function __destruct() {
  print("bye bye");
}
}
$o1 = new foo(4);
$o1->display();
?>

在上面的例子中,當(dāng)你終止調(diào)用 foo 類的時候,其析構(gòu)函數(shù)將會被調(diào)用,上例中會輸出 “bye bye”。

對象的引用

眾所周知,在PHP4 中,傳遞變量給一個函數(shù)或方法,實際是把這個變量做了一次復(fù)制,也就意味著你傳給函數(shù)或方法的是這個變量的一個副本,除非你使用了引用符號 “&” 來聲明是要做一個引用,而不是一個 Copy。在 PHP5 中,對象總是以引用的形式存在的,對象中的賦值操作同樣也都是一個引用操作。

例二:對象的引用

x = $x;
} 
function getX() {
  return $this->x;
}
}
$o1 = new foo;
$o1->setX(4);
$o2 = $o1;
$o1->setX(5);
if($o1->getX() == $o2->getX()) print("Oh my god!");
?>

對象的克隆

如上所述,當(dāng)一個對象始終以引用的形式來被調(diào)用時,如果我想得到該對象的一個副本,該怎么辦呢?PHP5 提供了一個新的功能,就是對象的克隆,語法為 __clone。

例三:對象的克隆

x = $x;
} 
function getX() {
  return $this->x;
}
} 
$o1 = new foo;
$o1->setX(4);
$o2 = $o1->__clone();
$o1->setX(5); if($o1->getX() != $o2->getX()) print("Copies are independant");
?>

對象克隆的方法在其它很多應(yīng)用程序語言中都是存在的,所以你不必?fù)?dān)心它的穩(wěn)定性。

穩(wěn)定

產(chǎn)品高可用性高并發(fā)

貼心

項目群及時溝通

專業(yè)

產(chǎn)品經(jīng)理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽

堅持

10年專注高端品質(zhì)開發(fā)
  • 返回頂部