2012-09-18 26 views
2

我剛從上週開始使用PHP開發。我在我的電腦上安裝了XAMPP。我只想知道幾個問題:PHP中的PEAR目的

  1. PHP文件夾內PEAR文件夾的用途是什麼?
  2. 如何在PHP中實現多態?
+0

http://en.wikipedia.org/wiki/PEAR – feeela

+0

http://pear.php.net/manual/en/about.pear.php :) –

+2

歡迎來到Stack Overflow。在發佈問題之前,請閱讀[常見問題](http://www.stackoverflow.com/faq) –

回答

2

PEAR包作爲gzipped tar文件分發。每個檔案文件 由以PHP編寫的源代碼組成,通常以面向對象 的樣式。許多PEAR包可以通過PHP中的簡單包含語句輕鬆地被開發人員用作普通的第三方代碼 。更多 優雅的是,默認帶有PHP的PEAR軟件包管理器 可能用於安裝PEAR軟件包,以便軟件包提供的額外功能 顯示爲PHP 安裝的集成部分。與PEAR作爲其模型的Comprehensive Perl Archive Network(CPAN) 檔案不同,PEAR軟件包沒有隱含依賴關係,因此軟件包在PEAR 包中的放置與代碼依賴關係無關。相反,PEAR 包必須明確聲明其他PEAR 包的所有依賴關係。

PEAR基類包含代碼,用於模擬面向對象的 析構函數和一致的錯誤處理。軟件包存在許多基本的PHP功能,包括認證,緩存,數據庫 訪問,加密,配置,HTML,Web服務和XML。

http://en.wikipedia.org/wiki/PEAR

1

在PHP中實現多態,你可以使用接口和抽象類。

interface Shape{ 
    public function getArea(); 
} 

class Circle implements Shape{ 
... 
} 

abstract class Polygon implements Shape{ 
    ... 
} 

class Square extends Polygon{ 
    ... 
} 

事實上,PHP中的類型檢查並不嚴格。你不需要爲你的變量聲明一個類型。然後在任何對象上調用任何函數都是可能的(儘管非常容易出錯並且不夠優雅)。在前面的例子中,即使類沒有實現Shape接口,也可以在任何「Square」或「Circle」實例上調用「getArea」。

編輯: 從PHP 5.4起,您還可以使用traits進行多態性。