PHP(“PHP: Hypertext Preprocessor”,超文本預處理器的字母縮寫)是一種被廣泛應用的開放源代碼的多用途腳本語言,它可嵌入到 Html中,尤其適合 WEB 開發。
以上是一個簡單的回答,不過這是什麼意思呢?請看如下例子:
例子 1-1. 一個介紹性的范例
<Html>
<head>
<title>Example</title>
</head>
<body>
<?PHP
echo "Hi, I'm a PHP script!";
?>
</body>
</Html>
請注意這個范例和其它用 C 或 Perl 語言寫的腳本之間的區別――與用大量的命令來編寫程序以輸出 HTML 不同的是,我們用 PHP 編寫了一個 Html 腳本,其中嵌入了一些代碼來做一些事情(例如,在本例中我們輸出了一些文本)。PHP 代碼被特殊的起始符和結束符包含,使得您可以進出“PHP 模式”。
和客戶端的 JavaScript 不同的是,PHP 代碼是運行在服務端的。如果您在您的服務器上建立了如上例類似的代碼,則在運行該腳本後,客戶端就能接收到其結果,但他們無法得知其背後的代碼是如何運作的。您甚至可以將 WEB 服務器設置成讓 PHP 來處理所有的 Html 文件,這麼一來,用戶就無法得知服務端到底做了什麼。
使用 PHP 的一大好處是它對於初學者來說及其的簡單,同時也給專業的程序員提供了各種高級的特性。當您看到 PHP 長長的特性列表時,請不要害怕。您可以很快的入門,只需幾個小時您就可以自己寫一些簡單的腳本。
盡管 PHP 的開發是以服務端腳本為目的地,但事實上其功能遠不局限與此。
PHP 能做什麼?
PHP 能做任何事。PHP 主要是用於服務端的腳本程序,因此您可以用 PHP 來完成任何其它的 CGI 程序能夠完成的工作,例如收集表單數據,生成動態網頁,或者發送/接收 CookIEs。但 PHP 的功能遠不局限於此。
PHP 腳本主要用於以下三個領域。
服務端腳本。這是 PHP 最傳統,也是最主要的目標領域。開展這項工作您需要具備以下三點:PHP 解析器(CGI 或者服務器模塊)、WEB 服務器和 WEB 浏覽器。您需要在運行 WEB 服務器時,安裝並配置 PHP,然後,可以用 WEB 浏覽器來訪問 PHP 程序的輸出,即浏覽服務端的 PHP 頁面。請查閱“安裝”一章以獲取更多信息。
命令行腳本。您可以編寫一段 PHP 腳本,並且不需要任何服務器或者浏覽器來運行它。通過這種方式,您僅僅只需要 PHP 解析器來執行。這種用法對於依賴 cron(Unix 或者 Linux 環境)或者 Task Scheduler(Windows 環境)的日常運行的腳本來說是理想的選擇。這些腳本也可以用來處理簡單的文本。請參閱“PHP 的命令行模式”以獲取更多信息。
編寫客戶端的 GUI 應用程序。對於基於窗口式的應用程序來說,PHP 或許不是一種最好的語言,但是如果您非常精通 PHP,並且希望在您的客戶端應用程序中使用 PHP 的一些高級特性,您可以利用 PHP-GTK 來編寫這些程序。用這種方法,您還可以編寫跨平台的應用程序。PHP-GTK 是 PHP 的一個擴展,在通常發布的 PHP 包中並不包含它。如果您對 PHP-GTK 感興趣,請訪問其網站以獲取更多信息。
PHP 能夠用在所有的主流操作系統上,包括 Linux、Unix 的各種變種(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft Windows、Mac OS X、RISC OS 等。今天,PHP已經支持了大多數的 WEB 服務器,包括 apache、Microsoft Internet Information Server(IIS)、Personal Web Server(PWS)、Netscape 以及 iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd 等。對於大多數的服務器,PHP 提供了一個模塊;還有一些 PHP 支持 CGI 標准,使得 PHP 能夠作為 CGI 處理器來工作。
綜上所述,使用 PHP,您可以自由地選擇操作系統和 WEB 服務器。同時,您還可以在開發時選擇使用面對過程和面對對象,或者兩者混和的方式來開發。盡管 PHP 目前的版本還沒有支持 OOP 所有的標准,但很多代碼倉庫和大型的應用程序(包括 PEAR 庫)僅使用 OOP 代碼來開發。
使用 PHP,您並不局限於輸出 HTML。PHP 還能被用來動態輸出圖像、PDF 文件甚至 Flash 動畫(使用 libswf 和 Ming)。您還能夠非常簡便的輸出文本,例如 XHtml 以及任何其它形式的 XML 文件。PHP 能夠自動生成這些文件,在服務端開辟出一塊動態內容的緩存,可以直接把它們打印出來,或者將它們存儲到文件系統中。
PHP 最強大最顯著的特性之一,是它支持很大范圍的數據庫。您會發現利用 PHP 編寫數據庫支持的網頁簡單得難以置信。目前,PHP 支持如下數據庫:
Adabas D Ingres Oracle (OCI7 and OCI8)
DBase InterBase Ovrimos
Empress FrontBase PostgreSQL
FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm
我們同時還有一個 DBX 擴展庫使得您可以自由的使用該擴展庫支持的任何數據庫。另外,PHP 還支持 ODBC,即 Open Database Connection Standard(開放數據庫連接標准),因此您可以連接任何其它支持該世界標准的數據庫。
PHP 還支持利用諸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows 環境)等不計其數的協議的服務。您還可以開放原始網絡端口,使得任何其它的協議能夠協同工作。PHP 支持和所有 WEB 開發語言之間的 WDDX 復雜數據交換。關於相互連接,PHP 已經支持了對 Java 對象的即時連接,並且可以將他們自由的用作 PHP 對象。您甚至可以用我們的 CORBA 擴展庫來訪問遠程對象。
PHP 具有極其有效的文本處理特性,支持從 POSIX 擴展或者 Perl 正則表達式到 XML 文檔解析。為了解析和訪問 XML 文檔,我們支持了 SAX 和 DOM 標准。您可以使用我們的 XSLT 擴展庫來轉換 XML 文檔。
如果您將 PHP 用於電子商務領域,您會發現其 Cybercash payment、CyberMUT、VeriSign Payflow Pro 以及 CCVS 函數對於您的在線交易程序來所是非常有用的。
另外,我們還有很多其它有趣的擴展庫。例如 mnoGoSearch 搜索引擎函數、IRC 網關函數、多種壓縮工具(gzip、bz2)、日歷轉換、翻譯……
由於在這裡我們無法列出 PHP 所有的特性和可提供的便利,請您參閱相關手冊以獲取關於這裡提到的擴展庫更多的信息。