PHP 能做任何事。PHP 主要是用于服務(wù)端的腳本程序,因此可以用 PHP 來(lái)完成任何其它的 CGI 程序能夠完成的工作,例如收集表單數(shù)據(jù),生成動(dòng)態(tài)網(wǎng)頁(yè),或者發(fā)送/接收 Cookies。但 PHP 的功能遠(yuǎn)不局限于此。
PHP 腳本主要用于以下三個(gè)領(lǐng)域:
PHP 能夠在所有的主流操作系統(tǒng)上使用,包括 Linux、Unix 的各種變種(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft Windows、macOS、RISC OS 等。今天,PHP已經(jīng)支持了大多數(shù)的 web 服務(wù)器,包括 Apache、Microsoft Internet Information Server(IIS)、Personal Web Server(PWS)、Netscape 以及 iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd 等。對(duì)于大多數(shù)的服務(wù)器,PHP 提供了一個(gè)模塊;還有一些 PHP 支持 CGI 標(biāo)準(zhǔn),使得 PHP 能夠作為 CGI 處理器來(lái)工作。
綜上所述,使用 PHP,可以自由地選擇操作系統(tǒng)和 web 服務(wù)器。同時(shí),還可以在開(kāi)發(fā)時(shí)選擇使用面對(duì)過(guò)程和面對(duì)對(duì)象,或者兩者混和的方式來(lái)開(kāi)發(fā)。盡管 PHP 4 不支持 OOP 所有的標(biāo)準(zhǔn),但很多代碼倉(cāng)庫(kù)和大型的應(yīng)用程序(包括 PEAR 庫(kù))僅使用 OOP 代碼來(lái)開(kāi)發(fā)。PHP 5 彌補(bǔ)了 PHP 4 的這一弱點(diǎn),引入了完全的對(duì)象模型。
使用 PHP,并不局限于輸出 HTML。PHP 還能被用來(lái)動(dòng)態(tài)輸出圖像、PDF 文件甚至 Flash 動(dòng)畫(huà)(使用 libswf 和 Ming)。還能夠非常簡(jiǎn)便的輸出文本,例如 XHTML 以及任何其它形式的 XML 文件。PHP 能夠自動(dòng)生成這些文件,在服務(wù)端開(kāi)辟出一塊動(dòng)態(tài)內(nèi)容的緩存,可以直接把它們打印出來(lái),或者將它們存儲(chǔ)到文件系統(tǒng)中。
PHP 最強(qiáng)大最顯著的特性之一,是它支持很大范圍的數(shù)據(jù)庫(kù)。使用任何針對(duì)某數(shù)據(jù)庫(kù)的擴(kuò)展(例如 mysql)編寫(xiě)數(shù)據(jù)庫(kù)支持的網(wǎng)頁(yè)非常簡(jiǎn)單,或者使用抽象層如 PDO,或者通過(guò) ODBC 擴(kuò)展連接到任何支持 ODBC 標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)。其它一些數(shù)據(jù)庫(kù)也可能會(huì)用 cURL 或者 sockets,例如 CouchDB。
PHP 還支持利用諸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows 環(huán)境)等不計(jì)其數(shù)的協(xié)議的服務(wù)。還可以開(kāi)放原始網(wǎng)絡(luò)端口,使得任何其它的協(xié)議能夠協(xié)同工作。PHP 支持和所有 web 開(kāi)發(fā)語(yǔ)言之間的 WDDX 復(fù)雜數(shù)據(jù)交換。關(guān)于相互連接,PHP 已經(jīng)支持了對(duì) Java 對(duì)象的即時(shí)連接,并且可以透明地將其用作 PHP 對(duì)象。
PHP 具有極其有效的文本處理特性,包括 Perl 兼容正則表達(dá)式(PCRE)以及許多擴(kuò)展和工具可用于解析和訪問(wèn) XML 文檔。PHP 將所有的 XML 功能標(biāo)準(zhǔn)化于堅(jiān)實(shí)的 libxml2 擴(kuò)展,并且還增加了 SimpleXML,XMLReader 以及 XMLWriter 支持以擴(kuò)充其功能。
另外,還有很多其它有趣的擴(kuò)展庫(kù),在此根據(jù)字母和分類(lèi)歸類(lèi)列出。還有一些附加的 PECL 擴(kuò)展可能有也可能沒(méi)有在 PHP 手冊(cè)中列出,例如 ? XDebug。
由于在這里無(wú)法列出 PHP 所有的特性和可提供的便利,請(qǐng)參閱安裝以及函數(shù)參考有關(guān)章節(jié)以獲取關(guān)于這里提到的擴(kuò)展庫(kù)更多的信息。