出版時間:2009-10 出版社:電子工業(yè)出版社 作者:高洛峰 頁數:649
Tag標簽:無
內容概要
開發(fā)Web應用程序PHP是最理想的工具,易于使用、功能強大、成本低廉、高安全性、開發(fā)速度快且執(zhí)行靈活。全書以實用為目標設計,包含PHP開發(fā)最主流的各項技術,對每一個知識點都進行了深入詳細的講解,并附有大量的實例代碼,圖文并茂。系統地介紹了PHP的相關技術及其在實際Web開發(fā)中的應用?! ∪珪?7章,每一章都是PHP獨立知識點的總結。內容涵蓋了PHP的運行環(huán)境搭建、Web服務器Apache的配置與應用、動態(tài)網站開發(fā)的前臺技術、PHP編程語言的語法、PHP的常用功能模塊和實用技巧、MySQL數據庫的設計與應用、PHP 5面向對象的程序設計思想、Web開發(fā)的設計模式,以及包含DIV+CSS、mysqli擴展模塊、數據庫抽象層PDO、Smarty模板技術等目前PHP開發(fā)中最主流的技術。每一章中都有大量的實用示例,以及詳盡的注釋,加速讀者的理解和學習,也為每章的技術點設置了大量的自測試題。最后以一個比較完整的、采用面向對象思想,以及通過MVC模式設計,并結合Smarty模板的CMS系統為案例,詳細介紹了Web系統開發(fā)從設計到部署的各個細節(jié),更好地進行開發(fā)實踐?! τ赑HP應用開發(fā)的新手而言,不失為一本好的入門教材,內容既實用又全面,輔以視頻教程,使讀者輕松掌握所學知識。另外,本書也適合有一定基礎的網絡開發(fā)人員和網絡愛好者,以及大中專院校的師生閱讀與參考。不僅可以作為PHP開發(fā)的學習用書,還可以作為從事Web開發(fā)的程序員的參考用書和必備手冊。對于行家來說,本書也是一本難得的參考手冊,讀者必將從中獲益。
作者簡介
高洛峰。現任北京LAMP兄弟連(易第優(yōu)教育)教學總監(jiān),五年軟件開發(fā)工作經驗,四年IT教學工作經驗。曾在多家上市企業(yè)擔任過技術總監(jiān)、項目經理、高級軟件工程師等職務,具有扎實的技術功底。國內資深的高級技術認證講師,從事IT培訓以來累計授課長達6000課時以上,培訓近千名學員成功走向IT崗位,具有豐富的IT教學經驗。熟悉掌握UNIX/Linux/Windows等多種操作系統,一直從事嵌入式、C\C++、J2EE、J2ME、J2SE、PHP及Oracle數據庫等技術研發(fā)工作。其中,對Web系統軟件開發(fā)深有研究,近年來致力于推廣LAMP開源平臺系列軟件。
書籍目錄
第1章 LAMP網站構建1.1 網站軟件簡介1.1.1 B/S軟件體系結構1.1.2 動態(tài)網站介紹1.2 動態(tài)網站軟件開發(fā)所需的Web構件1.2.1 客戶端瀏覽器1.2.2 擴展超文本標記語言XHTML1.2.3 層疊樣式表CSS1.2.4 XML和XSLT1.2.5 客戶端腳本編程語言1.2.6 Web服務器1.2.7 服務器端腳本編程語言1.2.8 數據庫管理系統1.3 網站軟件開發(fā)平臺及工作流程1.3.1 動態(tài)網站開發(fā)平臺1.3.2 動態(tài)網站開發(fā)平臺技術比較1.4 客戶端與服務器端交互的工作原理1.4.1 HTTP協議是什么1.4.2 Web的工作原理1.5 LAMP網站開發(fā)組合概述1.5.1 Linux操作系統1.5.2 Web服務器Apache1.5.3 MySQL數據庫管理系統1.5.4 PHP后臺腳本編程語言1.5.5 LAMP發(fā)展趨勢1.6 小結自測題第2章 搭建PHP的開發(fā)環(huán)境2.1 環(huán)境安裝對操作系統的選擇2.1.1 選擇網站運營的操作系統2.1.2 選擇網站開發(fā)的操作系統2.2 Linux系統下源代碼包方式安裝環(huán)境2.2.1 安裝前準備2.2.2 編譯安裝過程介紹2.2.3 安裝libxml2最新庫文件2.2.4 安裝libmcrypt最新庫文件2.2.5 安裝zlib最新庫文件2.2.6 安裝libpng最新庫文件2.2.7 安裝jpeg6最新庫文件2.2.8 安裝freetype最新庫文件2.2.9 安裝autoconf最新的庫文件2.2.10 安裝最新的GD庫文件2.2.11 安裝新版本的Apache服務器2.2.12 安裝MySQL數據庫管理系統2.2.13 安裝最新版本的PHP模塊2.2.14 安裝Zend加速器2.2.15 phpMyAdmin的安裝2.2.16 phpMyAdmin的配置2.3 在Windows系統上安裝Web工作環(huán)境2.3.1 安裝前準備2.3.2 安裝Apache2.3.3 安裝MySQL2.3.4 安裝PHP2.3.5 安裝Zend加速器2.4 Window系統上安裝集成開發(fā)環(huán)境2.4.1 安裝前準備2.4.2 安裝步驟2.4.3 環(huán)境測試2.5 小結自測題第3章 Apache服務器的配置3.1 Apache簡介3.1.1 Apache的誕生3.1.2 Apache的特性3.2 Apache服務器的目錄結構3.3 Apache服務器配置文件結構說明3.3.1 Apache服務器配置文件位置3.3.2 配置文件的語法3.4 Apache服務器全局參數設置3.4.1 在主配置文件httpd.conf中的全局參數3.4.2 附加配置文件httpd-default.conf中的全局參數3.4.3 附加配置文件httpd-mpm.conf中的全局參數3.5 Apache服務器中使用配置段(容器)3.5.1 文件系統容器3.5.2 網絡空間容器3.5.3 通配符和正則表達式3.5.4 如何選擇使用容器3.6 .htaccess文件和訪問限制3.6.1 設置路徑別名3.6.2 在.htaccess文件中設置目錄的訪問限制3.7 設置虛擬主機3.7.1 基于IP地址的虛擬主機3.7.2 基于主機名的虛擬主機3.8 小結自測題第4章 XHTML和CSS網頁標準化布局4.1 網頁制作概述4.1.1 XHTML基礎4.1.2 CSS基礎4.2 HTML的設計與應用4.2.1 XHTML語言的語法4.2.2 XHTML文件的主體結構4.2.3 文字版面的編輯4.2.4 創(chuàng)建圖像和鏈接4.2.5 使用XHTML表格4.2.6 XHTML框架結構4.2.7 XHTML表單設計4.3 CSS的設計與應用4.3.1 將樣式表加入到HTML中4.3.2 CSS選擇符4.3.3 常見的樣式屬性和值4.4 DIV+CSS網頁標準化布局4.4.1 DIV+CSS的優(yōu)勢4.4.2 “無意義”的元素div和span4.4.3 區(qū)塊框模型4.4.4 區(qū)塊框定位4.4.5 區(qū)塊框浮動4.4.6 使用區(qū)塊框設計頁面布局4.5 XHTML和CSS網站首頁面布局實例4.5.1 XHTML文件的設計4.5.2 CSS文件設計4.6 小結自測題第5章 PHP的基本語法5.1 PHP在Web開發(fā)中的應用5.2 第一個PHP腳本程序5.2.1 PHP語言標記5.2.2 指令分隔符“分號”5.2.3 程序注釋5.2.4 在程序中使用空白的處理5.3 變量5.3.1 變量的聲明5.3.2 變量的命名5.3.3 可變變量5.3.4 變量的引用賦值5.4 變量的類型5.4.1 類型介紹5.4.2 布爾型(boolean)5.4.3 整型(integer)5.4.4 浮點型(float或double)5.4.5 字符串(String)5.4.6 數組(Array)5.4.7 對象(Object)5.4.8 資源類型(Resource)5.4.9 NULL類型5.4.10 偽類型介紹5.4.11 數據類型之間相互轉換5.5 常量5.5.1 常量的定義和使用5.5.2 常量和變量5.5.3 預定義常量5.6 PHP中的運算符5.6.1 算術運算符5.6.2 字符串運算符5.6.3 賦值運算符5.6.4 比較運算符5.6.5 邏輯運算符5.6.6 位運算符5.6.7 其他運算符5.6.8 運算符的優(yōu)先級5.7 表達式5.8 小結自測題第6章 PHP的語言結構6.1 流程控制概述6.2 分支結構6.2.1 單一條件分支結構(if)6.2.2 雙向條件分支結構(else子句)6.2.3 多向條件分支結構(elseif子句)6.2.4 多向條件分支結構(switch語句)6.2.5 巢狀條件分支結構6.2.6 條件分支結構應用實例(簡單計算器)6.3 循環(huán)結構6.3.1 while語句6.3.2 dowhile循環(huán)6.3.3 for語句6.3.4 特殊的流程控制語句6.4 PHP中的函數6.4.1 函數的定義6.4.2 自定義函數6.4.3 函數的工作原理和結構化編程6.4.4 PHP變量的范圍6.4.5 參數的傳遞6.4.6 變量函數6.4.7 遞歸函數6.4.8 使用自定義函數庫6.4.9 使用系統函數庫6.5 小結自測題第7章 PHP中的數組與數據結構7.1 數組的概述數組的分類7.2 數組的定義7.2.1 直接賦值的方式聲明數組7.2.2 使用array()語言結構新建數組7.2.3 多維數組的聲明7.3 數組的遍歷7.3.1 使用for語句循環(huán)遍歷數組7.3.2 使用foreach語句遍歷數組7.3.3 聯合使用list( )、each( )和while循環(huán)遍歷數組7.3.4 使用數組的內部指針控制函數遍歷數組7.4 預定義數組7.4.1 服務器變量:$_SERVER7.4.2 環(huán)境變量:$_ENV7.4.3 HTTP GET變量:$_GET7.4.4 HTTP POST變量:$_POST7.4.5 request變量:$_REQUEST7.4.6 HTTP文件上傳變量:$_FILES7.4.7 HTTP Cookies:$_COOKIE7.4.8 Session變量:$_SESSION7.4.9 Global變量:$GLOBALS7.5 數組的相關處理函數7.5.1 數組的鍵/值操作函數7.5.2 統計數組元素的個數和唯一性7.5.3 使用回調函數處理數組的函數7.5.4 數組的排序函數7.5.5 拆分、合并、分解和接合數組7.5.6 數組與數據結構7.5.7 其他有用的數組處理函數7.6 小結自測題第8章 PHP面向對象的程序設計8.1 面向對象的介紹8.1.1 類和對象之間的關系8.1.2 面向對象的程序設計8.2 如何抽象一個類8.2.1 類的聲明8.2.2 成員屬性8.2.3 成員方法8.3 通過類實例化對象8.3.1 創(chuàng)建對象8.3.2 對象類型在內存中的分配8.3.3 對象中成員的訪問8.3.4 特殊的對象引用“$this”8.3.5 構造方法與析構方法8.4 封裝性8.4.1 設置私有成員8.4.2 私有成員的訪問8.4.3 __set()、__get()、__isset()和__unset()四個方法8.5 繼承性8.5.1 類繼承的應用8.5.2 訪問類型控制8.5.3 子類中重載父類的方法8.6 常見的關鍵字和魔術方法8.6.1 final關鍵字的應用8.6.2 static和const關鍵字的使用8.6.3 克隆對象8.6.4 類中通用的方法__toString()8.6.5 通過__call()方法處理錯誤調用8.6.6 自動加載類8.6.7 對象串行化8.7 抽象類與接口8.7.1 抽象方法和抽象類8.7.2 接口技術8.8 多態(tài)性的應用8.9 小結自測題第9章 字符串處理與正則表達式9.1 字符串的處理介紹9.1.1 字符串的處理方式9.1.2 字符串類型的特點9.2 常用的字符串輸出函數9.3 常用的字符串格式化函數9.3.1 去除空格和字符串填補函數9.3.2 字符串大小寫的轉換9.3.3 和HTML標簽相關的字符串格式化9.3.4 其他字符串格式化函數9.4 字符串比較函數9.4.1 按字節(jié)順序進行字符串比較9.4.2 按自然排序進行字符串比較9.5 正則表達式在字符串處理中的應用9.5.1 正則表達式簡介9.5.2 正則表達式的語法規(guī)則9.6 與Perl兼容的正則表達式函數9.6.1 字符串的匹配與查找9.6.2 字符串的替換9.6.3 字符串的分割和連接9.7 文章發(fā)布操作示例9.8 小結自測題第10章 PHP常用功能模塊10.1 錯誤和異常處理10.1.1 錯誤類型和基本的調試方法10.1.2 錯誤日志10.1.3 異常處理10.2 日期和時間10.2.1 UNIX時間戳10.2.2 在PHP中獲取日期和時間10.2.3 日期和時間格式化輸出10.2.4 修改PHP的默認時區(qū)10.2.5 使用微秒計算PHP腳本執(zhí)行時間10.3 動態(tài)圖像處理10.3.1 PHP中GD庫的使用10.3.2 畫布管理10.3.3 設置顏色10.3.4 生成圖像10.3.5 繪制圖像10.3.6 在圖像中繪制文字10.3.7 在PHP中實現驗證碼類的設計10.4 小結自測題第11章 文件系統處理11.1 文件系統概述11.1.1 文件類型11.1.2 文件的屬性11.2 目錄的基本操作11.2.1 解析目錄路徑11.2.2 遍歷目錄11.2.3 統計目錄大小11.2.4 建立和刪除目錄11.2.5 復制或移動目錄11.3 文件的基本操作11.3.1 文件的打開與關閉11.3.2 寫入文件11.3.3 讀取文件內容11.3.4 訪問遠程文件11.3.5 移動文件指針11.3.6 文件的鎖定機制11.3.7 文件的一些基本操作函數11.4 文件的上傳與下載11.4.1 文件上傳11.4.2 處理多個文件上傳11.4.3 文件下載11.5 文件系統項目實例11.5.1 功能分析11.5.2 系統功能設計11.5.3 實例代碼實現11.6 小結自測題第12章 MySQL數據庫設計12.1 MySQL數據庫管理12.1.1 數據庫管理系統12.1.2 結構化查詢語言SQL112.1.3 MySQL數據庫的連接與關閉12.1.4 創(chuàng)建、選擇及查看數據庫12.2 MySQL數據庫中數據表的設計12.2.1 數據表(Table)12.2.2 數據值和列類型12.2.3 數據字段屬性12.2.4 創(chuàng)建、修改及刪除表12.2.5 數據表的類型及存儲位置12.2.6 數據表的默認字符集112.2.7 創(chuàng)建索引212.3 數據庫的設計步驟12.3.1 需求分析12.3.2 概念設計12.3.3 邏輯設計12.4 SQL語言設計12.4.1 執(zhí)行DDL命令操作數據對象12.4.2 使用DML命令操作數據表中的數據記錄12.4.3 通過DQL命令查詢數據表中的數據12.5 使用PHP腳本向MySQL服務器發(fā)送SQL12.5.1 在PHP腳本中連接MySQL服務器12.5.2 在PHP程序中選擇已創(chuàng)建的數據庫12.5.3 執(zhí)行SQL命令12.5.4 在PHP腳本中處理SELECT查詢結果集12.6 小結自測題第13章 PHP的mysqli擴展13.1 啟用mysqli擴展模塊13.2 使用mysqli類13.2.1 連接MySQL服務器13.2.2 處理連接錯誤報告13.2.3 關閉與MySQL服務器連接13.2.4 執(zhí)行SQL命令13.3 使用mysqli_result類13.3.1 創(chuàng)建結果集對象13.3.2 回收查詢內存13.3.3 從結果集中解析數據13.3.4 從結果集中獲取數據列的信息13.3.5 一次執(zhí)行多條SQL命令13.4 使用mysqli_stmt類13.4.1 獲取預處理語句對象13.4.2 綁定參數13.4.3 執(zhí)行準備好的語句13.4.4 回收資源13.4.5 簡單的示例分析13.4.6 使用預處理語句處理SELECT查詢結果13.5 數據庫事務13.5.1 事務處理13.5.2 構建事務應用程序13.6 MVC模式實現商品管理系統13.6.1 MVC設計模式13.6.2 商品管理系統的設計與實現13.7 小結自測題第14章 數據庫抽象層PDO14.1 PDO所支持的數據庫14.2 PDO的安裝14.3 創(chuàng)建PDO對象14.3.1 以多種方式調用構造方法14.3.2 PDO對象中的成員方法14.4 使用PDO對象14.4.1 調整PDO的行為屬性14.4.2 PDO處理PHP程序和數據庫之間的數據類型轉換14.4.3 PDO的錯誤處理模式14.4.4 使用PDO執(zhí)行SQL語句14.5 PDO對預處理語句的支持14.5.1 了解PDOStatement對象14.5.2 準備語句14.5.3 綁定參數14.5.4 執(zhí)行準備好的查詢14.5.5 獲取數據14.5.6 大數據對象的存取14.6 PDO的事務處理14.7 小結自測題第15章 會話控制15.1 為什么要使用會話控制15.2 會話跟蹤的方式15.3 Cookie的應用15.3.1 Cookie概述15.3.2 向客戶端電腦中設置Cookie15.3.3 在PHP腳本中讀取Cookie的資料內容15.3.4 數組形態(tài)的Cookie應用15.3.5 刪除Cookie15.3.6 基于Cookie的用戶登錄模塊15.4 Session的應用15.4.1 Session概述15.4.2 配置Session15.4.3 Session的聲明與使用15.4.4 注冊一個會話變量和讀取Session15.4.5 注銷變量與銷毀Session15.4.6 傳遞Session ID15.5 一個簡單的郵件系統15.5.1 為郵件系統準備數據15.5.2 編碼實現郵件系統15.5.3 郵件系統執(zhí)行說明15.6 小結自測題第16章 PHP的模板技術Smarty16.1 什么是模板引擎16.2 編寫自己的模板引擎16.2.1 創(chuàng)建自己的模板引擎類16.2.2 使用自已的模板引擎16.2.3 自定義模板的使用示例分析216.3 選擇Smarty模板引擎16.4 安裝Smarty及初使化配置16.4.1 安裝Smarty16.4.2 初使化Smarty類庫的默認設置16.4.3 第一個Smarty的簡單示例16.5 Smarty在應用程序邏輯層的使用步驟16.6 Smarty模板中的程序邏輯16.6.1 模板中的注釋16.6.2 模板中變量的聲明16.6.3 在模板中輸出從PHP分配的變量16.6.4 模板中變量的數學計算16.6.5 在模板中使用{$smarty}保留變量16.6.6 變量調解器16.6.7 模板的控制結構16.6.8 在模板中包含子模板16.7 為Smarty模板創(chuàng)建配置文件16.7.1 配置文件語法格式16.7.2 加載配置文件16.7.3 引用配置文件中的變量16.8 Smarty處理頁面緩存16.8.1 在Smarty中控制緩存16.8.2 每個頁面多個緩存16.8.3 為緩存實例消除處理開銷16.8.4 清除緩存16.8.5 關閉局部緩存16.9 應用Smarty實現分頁示例16.9.1 準備工作16.9.2 設計數據庫操作類16.9.3 設計分頁操作類16.9.4 PHP的程序邏輯層16.9.5 Smarty模板的表現層16.10 小結自測題第17章 內容管理系統(CMS)17.1 Web軟件開發(fā)流程概述17.1.1 Web開發(fā)團隊的成員17.1.2 Web軟件開發(fā)流程17.1.3 項目開發(fā)規(guī)范17.2 需求分析17.2.1 CMS簡介17.2.2 用戶行為分析17.2.3 系統目標17.2.4 系統特點17.3 系統功能預覽17.3.1 CMS系統安裝17.3.2 登錄管理平臺17.3.3 常規(guī)設置管理17.3.4 友情鏈接管理17.3.5 圖片管理17.3.6 欄目管理17.3.7 文章管理17.3.8 用戶管理17.3.9 網站首頁17.3.10 文章列表頁面17.3.11 文章內容頁面17.4 數據庫設計17.4.1 數據庫需求分析17.4.2 數據表關系17.5 系統架構17.5.1 系統體系結構17.5.2 管理平臺的文件結構17.5.3 網站前臺模板風格的文件結構17.6 常用的功能模塊開發(fā)17.6.1 系統安裝模塊設計17.6.2 管理平臺(后臺)的模塊設計17.6.3 無限分類模塊設計17.6.4 網站首頁面的設計17.7 小結附錄A PHP配置文件詳解
章節(jié)摘錄
第1章 LAMP網站構建 經常有人問我同樣的問題:動態(tài)網站是如何工作的、開發(fā)它都需要掌握哪些開發(fā)技術、使用哪一門腳本語言最合適等。本章回答了這些問題,使讀者能夠對建站有一個宏觀的了解。要掌握如何構建一個專業(yè)的動態(tài)網站,請不要跳過本章,本章不包含任何程序代碼,閱讀起來容易理解。所以,請將這一章全部讀完吧!會對你后期的學習大有幫助,指引你的LAMP學習方向。 本章對網站構建做了比較全面的介紹,例如,動態(tài)網站隸屬于哪一種架構的軟件、開發(fā)它都需要掌握哪些w曲構件,并對每個web構件在動態(tài)網站開發(fā)中扮演的角色、運行原理,以及運行的條件做了說明。本章還從不同角度對比介紹了不同的網站開發(fā)平臺,其中對LAMP平臺(Linux、Apache、MySQL和PHP的組合),從版本發(fā)展、行業(yè)應用、市場優(yōu)勢和產品特性等方面分別重點做了介紹。LAMP組合是日后動態(tài)網站軟件構建的發(fā)展趨勢,通過本章的學習,讀者能夠了解LAMP平臺,并準備需要的內容和學習的內容?! ?.1 網站軟件簡介 有人問網站是什么?網站就是軟件,所以建站也是軟件開發(fā)中的一種。越來越花哨的個人網站頻繁出現,容易讓人產生網站制作很容易的誤解。學完本課程,你會知道建設一個商業(yè)網站的艱苦卓絕。個人網站就像兒童的畫板,很容易絢麗多彩,因為它不必考慮目的性、完整性、擴展性以及負荷,它更多地只是一時興起;商業(yè)網站是一套軟件,建立的是一個基于工作的網站,能將工作架在互聯網上,所以它是工作的平臺,它關乎未來工作的效率、連續(xù)性、安全性,不容失敗。
編輯推薦
學習最難是入門,本書堪為PHP入門經典之作,我向所有PHP初學者推薦本書。 ——易第優(yōu)教育首席執(zhí)行官 李明(肥同小可) 此書對于PHP愛好者,可謂一本好書,內容詳盡實用,結構組織符合實戰(zhàn)需求,我誠摯推薦?! 猄hop NC商城創(chuàng)始人 吳津津(大白菜芯) 內容詳盡,由淺入深,覆蓋全面,藏經之作。 ——Think PHP框架創(chuàng)始人 劉晨(流年) 本書內容充實,是作者多年豐富PHP授課經驗的總結,可作為初學PHP的首選教材。 ——鳳凰網技術總監(jiān) 駱超(浪灣)
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載