到目前為止,Web 是團隊和個人溝通的最大媒介。網頁承載著人造衛星拍攝的地球全貌圖像、外太空生命探索、家庭個人相簿、購物車和產品清單。很多網頁都是用PHP 驅動的,這是一個為HTML 而生的開源腳本語言。
自1994 年創建以來,PHP 因其驚人的成長而風靡網絡,IBM 和Oracle(僅舉幾例)也曾被推薦。
數百萬的網站使用PHP 足以證明它的流行和易用。每天人們可以學習PHP 並且建立強大的動態網頁。 Marc Andreessen,Andreessen Horowitz 的伴侶和 Netscape 社群的創辦人,最近說過 PHP 已經取代 Java 成為最主要的 Web 語言。
PHP 5 以後的語言核心突顯了強大的字串和陣列處理工具,還有對物件導向的支援和最佳化。用可選的擴充模組,一個PHP 應用可以和MySQL 或Oracle 資料庫互動、畫圖、建立PDF 檔案和解析XML 檔案。你可以用 C 語言寫自己的擴充模組,例如,要為已有的程式碼庫提供一個PHP 介面。你也可以在Windows 上運行 PHP,也可以讓你控制其他Windows 應用程序,例如用COM 呼叫Word 和Excel,或使用ODBC 和資料庫交互。
這本書是PHP 語言的指南。讀完後,你會知道PHP 語言是如何運作的,如何在標準的PHP 中使用強大的擴展,如何設計自己的PHP 網頁程式。讀者
PHP 是一個文化熔爐。網頁設計者會感受它的易用性和便利性,程式設計師會感受它的易擴展性、強大、多樣性和速度。兩種文化需要清晰和精確地引申到語言。如果你是程式設計師,這本書適合你。我們展示了PHP 語言的藍圖,並且不浪費你的時間來討論具體的例子。許多例子都有詳細的解釋,實際程式建議和程式碼風格提示都使你不止是一個PHP 程式設計師,而是更好的PHP 程式設計師。
如果你是網頁設計者,會感受到特定的技術都有清晰有用的指南,例如XML、會話、PDF 生成和圖像。你可以快速獲取到你需要的信息,用簡單術語表達的基本的程式設計原則。這本書已經過完整的校對來應對最新的PHP 5 的特性。
前提
書假設你有HTML 的工作經驗,如果你不會HTML,需要在學習PHP 之前從一些簡單的網頁獲得一些經驗。更多關於HTML 的信息,我們推薦 Chunk Musciano 和Bill Kennedy 寫的HTML & XHTML: The Definitive Guide 一書(由O’Reilly 出版)。
本書內容
我們精心編排了本書內容讓你可以從開始順序閱讀或跳著閱讀感興趣的主題。全書共有17 章和1 個附錄。如下圖所示。
第1 章,PHP 介紹
講述關於PHP 的歷史並概述可以用PHP 程式做什麼。
第2 章,語言基礎
PHP 元素的簡明指南。例如定義符、資料類型、操作符和流控制語句。
第3 章,函數
討論使用者定義的函數。包含作用域、變數長度參數清單、變數和匿名函數。
第4 章,字串
涵蓋你在用PHP 程式碼建構、解析、搜尋和修改字串時需用到的函數。
第5 章,數組
介紹用PHP 程式碼建構、處理和排序數組的函數和詳細註解。
第6 章,對象
涵蓋PHP 的物件導向的新特性。在本章中,你會了解類別、物件、繼承和自省。
第7 章,Web 技術
討論網頁基礎,例如表單參數和驗證、Cookie 以及會話。
第8 章,資料庫
討論PHP 使用資料庫的模組和函數,使用PEAR 資料庫和MySQL 資料庫作為範例。同時,也會涵蓋SQLite 資料庫引擎和新的PDO 介面。
第9 章,影像
示範如何用PHP 建立和修改不同格式的影像檔案。
第10 章,PDF
解釋如何從PHP 程式建立動態的PDF 檔案。
第11 章,XML
介紹PHP 更新的擴展,用來產生和解析XML 資料。
第12 章,安全
為程式設計師創建安全的腳本提供有價值的建議和引導。你會了解程式設計技術的最佳實踐,幫你避免會帶來災難的錯誤。
第13 章,應用技術
講述大多數PHP 程式設計師最終都會用到的高階技術,介紹錯誤處理和效能調優。
第14 章,不同平台的 PHP
講解Windows 端PHP 的技巧和陷阱,也會講到Windows 上獨特的 COM 功能。
第15 章,網頁服務
提供以PHP 建立現代網頁服務API 的技術,和連接其他系統的API。
第16 章,調試PHP
講述調試PHP 程式碼的技術和如何編寫可調試的PHP 程式碼。
第17 章,日期和時間
講述PHP 處理日期和時間的內建類別。
附錄A
PHP 所有核心函數的快速參考。
本書約定
本書使用如下的印刷約定:
斜體(Italic)
表示新的術語、URL、郵件地址、檔案名稱和檔案副檔名。
等寬字體(Constant width)
用來表示程式碼,也會在一個普通段落中用來引用變數或函數名稱、資料庫、資料型態、環境變數、表達式以及關鍵字。
等寬粗體(Constant width bold)
表示命令或使用者必須正確輸入的文字。
等寬斜體(Constant width italic)
使用者必須替換為自己的值或依據上下文的值的文字。
這個圖示表示提示、建議或一般性標註。
這個圖示表示警告或註意。
中文版書中切口以「 」表示原書頁碼,方便讀者與原英文版圖書對照閱讀,本書的索引中所列的頁碼為原英文版頁碼。