## PHP能做什么
PHP 能做任何事。PHP 主要是用于服務端的腳本程序,因此可以用 PHP 來完成任何其它的 CGI 程序能夠完成的工作,例如收集表單數據,生成動態網頁,或者發送/接收 Cookies。但 PHP 的功能遠不局限于此。
PHP 腳本主要用于以下三個領域:
### 服務端腳本。
這是 PHP 最傳統,也是最主要的目標領域。開展這項工作需要具備以下三點:PHP 解析器(CGI 或者服務器模塊)、web 服務器和 web 瀏覽器。需要在運行 web 服務器時,安裝并配置 PHP,然后,可以用 web 瀏覽器來訪問 PHP 程序的輸出,即瀏覽服務端的 PHP 頁面。如果只是實驗 PHP 編程,所有的這些都可以運行在自己家里的電腦中。請查閱安裝一章以獲取更多信息。
### 命令行腳本。
可以編寫一段 PHP 腳本,并且不需要任何服務器或者瀏覽器來運行它。通過這種方式,僅僅只需要 PHP 解析器來執行。這種用法對于依賴 cron(Unix 或者 Linux 環境)或者 Task Scheduler(Windows 環境)的日常運行的腳本來說是理想的選擇。這些腳本也可以用來處理簡單的文本。請參閱 PHP 的命令行模式以獲取更多信息。
### 編寫桌面應用程序。
對于有著圖形界面的桌面應用程序來說,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 4 不支持 OOP 所有的標準,但很多代碼倉庫和大型的應用程序(包括 PEAR 庫)僅使用 OOP 代碼來開發。PHP 5 彌補了 PHP 4 的這一弱點,引入了完全的對象模型。
使用 PHP,并不局限于輸出 HTML。PHP 還能被用來動態輸出圖像、PDF 文件甚至 Flash 動畫(使用 libswf 和 Ming)。還能夠非常簡便的輸出文本,例如 XHTML 以及任何其它形式的 XML 文件。PHP 能夠自動生成這些文件,在服務端開辟出一塊動態內容的緩存,可以直接把它們打印出來,或者將它們存儲到文件系統中。
PHP 最強大最顯著的特性之一,是它支持很大范圍的數據庫。使用任何針對某數據庫的擴展(例如 mysql)編寫數據庫支持的網頁非常簡單,或者使用抽象層如 PDO,或者通過 ODBC 擴展連接到任何支持 ODBC 標準的數據庫。其它一些數據庫也可能會用 cURL 或者 sockets,例如 CouchDB。
PHP 還支持利用諸如** LDAP**、**IMAP**、**SNMP**、**NNTP**、POP3、HTTP、COM(Windows 環境)等不計其數的協議的服務。還可以開放原始網絡端口,使得任何其它的協議能夠協同工作。PHP 支持和所有 web 開發語言之間的 WDDX 復雜數據交換。關于相互連接,PHP 已經支持了對 Java 對象的即時連接,并且可以透明地將其用作 PHP 對象。
PHP 具有極其有效的文本處理特性,包括 Perl 兼容正則表達式(PCRE)以及許多擴展和工具可用于解析和訪問 XML 文檔。PHP 將所有的 XML 功能標準化于堅實的 libxml2 擴展,并且還增加了 SimpleXML,XMLReader 以及 XMLWriter 支持以擴充其功能。
另外,還有很多其它有趣的擴展庫,在此根據字母和分類歸類列出。還有一些附加的 PECL 擴展可能有也可能沒有在 PHP 手冊中列出,例如 ? XDebug。
- 入門指引
- 簡介
- PHP是什么
- PHP能做什么
- 簡明教程
- 學PHP需要什么
- 我的第一個PHP頁面
- 實用的PHP腳步
- PHP是如何處理表單的
- 在新版本的PHP如何實用舊的PHP代碼
- 下一步需要做什么
- PHP語言參考
- PHP基本語法
- PHP標記
- PHP多進程管理-pcntl_fork
- PHP文件上傳易犯錯誤
- PHP從HTML中分離
- PHP的指令分隔符
- PHP序列化serialize
- PHP類常量
- PHP Traits
- 從 HTML 中分離
- 注釋
- PHP數據類型
- PHP支持的類型簡介
- 布爾類型(Boolean)就是易經知識
- 整型(integer)即整數
- 浮點型(float)
- 字符串(string)
- 數組(Array)
- 對象(object)一定要搞
- 資源類型(resource)
- PHP安裝與環境配置
- 安裝前需要考慮的事項
- Unix系統下安裝PHP
- Unix 系統下安裝 Apache 1.3.x
- Unix 系統下安裝 Apache 2.x
- Unix 系統下安裝 Nginx 1.4.x
- Unix 平臺安裝 Lighttpd 1.4
- Sun Solaris 上的 Sun、iPlanet 和 Netscape 服務器
- CGI 命令行設置
- 針對 HP-UX 平臺的安裝提示
- 在 OpenBSD 系統下的安裝PHP
- Debian GNU/Linux 安裝說明
- 在Mac OS X 系統下安裝PHP
- 使用軟件包
- 使用內置的 PHP
- Windows 系統下的安裝
- 云計算平臺上的安裝
- Microsoft Azure
- 在亞馬遜(Amazon EC2)安裝PHP
- PHP語法參考
- 類型
- NULL
- Callback 回調類型
- 本文檔中使用的偽類型與變量
- 類型轉換的判別
- PHP 類型比較表
- 常量和變量
- 語法基礎
- 預定義變量
- 變量范圍
- 可變變量
- 外部變量
- 常量
- 語法
- 魔術常量
- PHP表達式&運算符
- 賦值運算符
- 位運算符
- 比較運算符
- 錯誤控制運算符
- 執行運算符
- 遞增/遞減運算符
- 邏輯運算符
- 字符串運算符
- 數組運算符
- 類型運算符
- 流程控制
- continue
- switch
- declare
- return
- require
- include
- require_once