●目錄CONTENTS章 LAMP網站構建11.1 介紹Web給你認識11.1.1 Web應用的優勢31.1.2 Web開發標準41.1.3 認識腳本語言51.2 動態網站開發所需的Web構件51.2.1 客戶端瀏覽器61.2.2 超文本標記語言(HTML)71.2.3 層疊樣式表(CSS)81.2.4 客戶端腳本編程語言JavaScript91.2.5 Web服務器101.2.6 服務器端編程語言111.2.7 數據庫管理繫統121.3 LAMP網站開發組合概述131.3.1 Linux操作繫統131.3.2 Web服務器Apache141.3.3 MySQL數據庫管理繫統141.3.4 PHP後臺腳本編程語言15第2章 從搭建你的PHP開發環境開始182.1 幾種常見的PHP環境安裝方式182.1.1 Linux繫統下源代碼包方式安裝環境192.1.2 在Windows繫統上安裝Web工作環境192.1.3 搭建學習型的PHP工作環境192.2 環境安裝對操作繫統的選擇202.2.1 選擇網站運營的操作繫統202.2.2 選擇網站開發的操作繫統202.3 安裝集成PHP開發環境212.3.1 安裝前準備212.3.2 安裝步驟212.3.3 環境測試222.4 改變文檔根目錄www的位置25第3章 PHP的基本語法263.1 PHP在Web開發中的應用263.1.1 就從認識PHP開始吧263.1.2 PHP都能做什麼273.2 個PHP腳本程序303.3 PHP語言標記333.3.1 將PHP代碼嵌入HTML中的位置333.3.2 解讀開始和結束標記343.4 指令分隔符“分號”353.5 程序注釋363.6 在程序中使用空白的處理373.7 變量383.7.1 變量的聲明383.7.2 變量的命名393.7.3 可變變量413.7.4 變量的引用賦值413.8 變量的類型423.8.1 類型介紹433.8.2 布爾型(boolean)433.8.3 整型(integer)443.8.4 浮點型(float或double)453.8.5 字符串(string)453.8.6 數組(array)473.8.7 對像(object)483.8.8 資源類型(resource)483.8.9 NULL類型493.8.10 偽類型介紹503.9 數據類型之間相互轉換503.9.1 自動類型轉換503.9.2 強制類型轉換513.9.3 類型轉換細節523.9.4 變量類型的測試函數523.10 常量533.10.1 常量的定義和使用543.10.2 常量和變量543.10.3 繫統中的預定義常量553.10.4 PHP中的魔術常量553.11 PHP中的運算符563.11.1 算術運算符573.11.2 字符串運算符593.11.3 賦值運算符603.11.4 比較運算符603.11.5 邏輯運算符623.11.6 位運算符633.11.7 其他運算符663.11.8 運算符的優先級673.12 表達式68第4章 PHP的流程控制結構694.1 分支結構694.1.1 單一條件分支結構(if)704.1.2 雙向條件分支結構(else子句)714.1.3 多向條件分支結構(elseif子句)724.1.4 多向條件分支結構(switch語句)734.1.5 巢狀條件分支結構754.1.6 條件分支結構實例應用(簡單計算器)764.2 循環結構784.2.1 while語句784.2.2 do…while循環814.2.3 for語句814.3 特殊的流程控制語句844.3.1 break語句854.3.2 continue語句854.3.3 exit語句864.4 PHP的新版特性――goto語句87第5章 PHP的函數應用895.1 函數的定義895.2 自定義函數905.2.1 函數的聲明905.2.2 函數的調用925.2.3 函數的參數935.2.4 函數的返回值945.3 函數的工作原理和結構化編程965.4 PHP變量的範圍975.4.1 局部變量975.4.2 全局變量985.4.3 靜態變量995.5 聲明及應用各種形式的PHP函數1005.5.1 常規參數的函數1015.5.2 偽類型參數的函數1025.5.3 引用參數的函數1025.5.4 默認參數的函數1035.5.5 可變個數參數的函數1055.5.6 回調函數1065.6 遞歸函數1105.7 使用自定義函數庫1115.8 PHP匿名函數和閉包112第6章 PHP中的數組與數據結構1146.1 數組的分類1146.2 數組的定義1166.2.1 直接賦值的方式聲明數組1166.2.2 使用array()語言結構新建數組1186.2.3 多維數組的聲明1196.3 數組的遍歷1216.4 預定義數組1246.4.1 服務器變量:$_SERVER1256.4.2 環境變量:$_ENV1266.4.3 URL GET變量:$_GET1266.4.4 HTTP T變量:$_ T1276.4.5 request變量:$_REQUEST1286.4.6 HTTP文件上傳變量:$_FILES1286.4.7 HTTP Cookies:$_COOKIE1286.4.8 Session變量:$_SESSION1286.4.9 Global變量:$GLOBALS1286.5 數組的相關處理函數1296.6 操作PHP數組需要注意的一些細節1336.6.1 數組運算符號1336.6.2 刪除數素操作1346.6.3 關於數組下標的注意事項135第7章 PHP面向對像的程序設計1367.1 面向對像的介紹1367.1.1 類和對像之間的關繫1377.1.2 面向對像的程序設計1387.2 如何抽像一個類1387.2.1 類的聲明1397.2.2 成員屬性1397.2.3 成員方法1407.3 通過類實例化對像1427.3.1 實例化對像1427.3.2 對像中成員的訪問1437.3.3 特殊的對像引用“$this”1457.3.4 構造方法與析構方法1477.4 封裝性1507.4.1 設置私有成員1507.4.2 私有成員的訪問1517.4.3 __set()和__get()兩個方法1537.5 繼承性1577.5.1 類繼承的應用1577.5.2 訪問類型控制1597.5.3 子類中重載父類的方法1617.6 常見的關鍵字和魔術方法1637.6.1 final關鍵字的應用1647.6.2 static關鍵字的使用1657.6.3 單態設計模式1667.6.4 const關鍵字1677.6.5 instanceof關鍵字1687.6.6 克隆對像1687.6.7 類中通用的方法__toString()1707.6.8 __call()方法的應用1707.6.9 自動加載類1727.6.10 對像串行化1737.7 抽像類與接口1757.7.1 抽像類1767.7.2 接口技術1777.8 多態性的應用1797.9 PHP 5.4的Trait特性1817.9.1 Trait的聲明1817.9.2 Trait的基本使用1827.10 PHP 5.3版本以後新增加的命名空間1847.10.1 命名空間的基本應用1847.10.2 命名空間的子空間和公共空間1867.10.3 命名空間中的名稱和術語1877.10.4 別名和導入188第8章 字符串處理1908.1 字符串的處理介紹1908.1.1 字符串的處理方式1908.1.2 字符串類型的特點1918.1.3 雙引號中的變量解析總結1928.2 常用的字符串輸出函數1938.3 常用的字符串格式化函數1958.3.1 去除空格和字符串填補函數1968.3.2 字符串大小寫的轉換1978.3.3 和HTML標簽相關的字符串格式化1988.3.4 其他字符串格式化函數2028.4 字符串比較函數2038.4.1 按字節順序進行字符串比較2038.4.2 按自然排序進行字符串比較204第9章 正則表達式2069.1 正則表達式簡介2069.2 正則表達式的語法規則2079.2.1 定界符2089.2.2 原子2089.2.字符2109.2.4 模式修2139.3 與Perl兼容的正則表達式函數2149.3.1 字符串的匹配與查找2159.3.2 字符串的替換2189.3.3 字符串的分割和連接2230章 PHP的錯誤和異常處理22610.1 錯誤處理22610.1.1 錯誤報告級別22710.1.2 調整錯誤報告級別22710.2 異常處理23010.2.1 異常處理實現23010.2.2 擴展PHP內置的異常處理類23110.2.3 捕獲多個異常2321章 文件繫統處理23511.1 文件繫統概述23511.1.1 文件類型23611.1.2 文件的屬性23611.2 目錄的基本操作23911.2.1 解析目錄路徑24011.2.2 遍歷目錄24111.2.3 統計目錄大小24211.2.4 建立和刪除目錄24311.2.5 復制目錄24411.3 文件的基本操作24511.3.1 文件的打開與關閉24511.3.2 寫入文件24711.3.3 讀取文件內容24811.3.4 訪問遠程文件25011.3.5 移動文件指針25111.3.6 文件的鎖定機制25211.3.7 文件的一些基本操作函數25511.4 文件的上傳與下載25611.4.1 文件上傳25611.4.2 處理多個文件上傳26011.4.3 文件下載2612章 PHP動態圖像處理26312.1 PHP中GD庫的使用26312.1.1 畫布管理26512.1.2 設置顏色26512.1.3 生成圖像26612.1.4 繪制圖像26712.1.5 在圖像中繪制文字26912.2 設計經典的驗證碼類27212.2.1 設計驗證碼類27212.2.2 應用驗證碼類的實例對像27512.2.3 表單中應用驗證碼27512.2.4 實例演示27612.3 PHP圖片處理27612.3.1 圖片背景管理27612.3.2 圖片縮放27812.3.3 圖片裁剪28012.3.4 添加圖片水印28112.3.5 圖片旋轉和翻轉2823章 數據庫抽像層PDO28513.1 PDO所支持的數據庫28513.2 PDO的安裝28713.3 創建PDO對像28813.3.1 以多種方式調用構造方法28913.3.2 PDO對像中的成員方法29113.4 使用PDO對像29113.4.1 調整PDO的行為屬性29213.4.2 PDO處理PHP程序和數據庫之間的數據類型轉換29213.4.3 PDO的錯誤處理模式29313.4.4 使用PDO執行SQL語句29413.5 PDO對預處理語句的支持29613.5.1 了解PDOStatement對像29613.5.2 準備語句29713.5.3 綁定參數29813.5.4 執行準備好的查詢29913.5.5 獲取數據3004章 會話控制30514.1 為什麼要使用會話控制30514.2 會話跟蹤的方式30614.3 Cookie的應用30714.3.1 Cookie概述30714.3.2 向客戶端計算機中設置Cookie30814.3.3 在PHP腳本中讀取Cookie的資料內容30914.3.4 數組形態的Cookie應用31014.3.5 刪除Cookie31014.3.6 基於Cookie的用戶登錄模塊31114.4 Session的應用31314.4.1 Session概述31314.4.2 配置Session31414.4.3 Session的聲明與使用31514.4.4 注冊一個會話變量和讀取Session31514.4.5 注銷變量與銷毀Session31614.4.6 Session的自動回收機制31814.4.7 傳遞Session ID31814.5 一個簡單的郵件繫統實例32114.5.1 為郵件繫統準備數據32114.5.2 編碼實現郵件繫統32314.5.3 郵件繫統執行說明3255章 PHP的模板引擎Smarty32715.1 什麼是模板引擎32715.2 選擇Smarty模板引擎32915.3 安裝Smarty及初始化配置33015.3.1 安裝Smarty33015.3.2 初始化Smarty類庫的默認設置33115.3.3 個Smarty的簡單示例33415.4 Smarty的基本應用33715.4.1 PHP程序員常用的和Smarty相關的操作33715.4.2 模板設計時美工的常用操作33915.5 Smarty模板設計的基本語法33915.5.1 模板中的注釋34015.5.2 模板中的變量應用34015.5.3 模板中的函數應用34215.5.4 忽略Smarty解析34515.5.5 在模板中使用保留變量34515.6 Smarty模板中的變量調解器34715.6.1 變量調解器函數的使用方式34815.6.2 Smarty默認提供的變量調解器34815.7 Smarty模板中的內置函數35015.7.1 流程控制35015.7.2 數組遍歷3536章 MVC模式與PHP框架35616.1 MVC模式在Web中的應用35616.1.1 MVC模式的工作原理35616.1.2 MVC模式的優缺點35816.2 PHP開發框架35916.2.1 什麼是框架35916.2.2 為什麼要用框架36016.2.3 框架和MVC設計模式的關繫36016.2.4 比較流行的PHP框架36116.3 劃分模塊和操作36216.3.1 為項目劃分模塊36316.3.2 為模塊設置操作36316.4 小結3647章 超輕量級PHP框架BroPHP 2.036517.1 BroPHP框架概述36517.1.1 繫統特點36617.1.2 環境要求36617.1.3 BroPHP框架源碼的目錄結構36717.2 單一入口36717.3 部署項目應用目錄36917.3.1 項目推薦的部署方式37017.3.2 URL訪問37117.4 BroPHP框架的基本設置37317.4.1 默認開啟37317.4.2 配置文件37317.4.3 內置函數37517.5 聲明控制器(Control)37617.5.1 控制器的聲明(模塊)37617.5.2 操作的聲明37717.5.3 頁面跳轉37817.5.4 重定向38017.6 設計視圖(View)38117.6.1 視圖與控制器之間的交互38117.6.2 切換模板風格38117.6.3 模板文件的聲明規則38217.6.4 display()的新用法38217.6.5 模板中的幾個常用變量應用38317.6.6 在PHP程序中定義資源位置38417.7 應用模型(Model)38417.7.1 BroPHP數據庫操作接口的特性38417.7.2 切換數據庫驅動38517.7.3 聲明和實例化Model38617.7.4 數據庫的統一操作接口38917.8 自動驗證40717.9 緩存設置41017.9.1 基於memcached緩存設置41017.9.2 基於Smarty的緩存機制41017.10 調試模式41117.11 內置擴展類庫41217.11.1 分頁類Page41217.11.2 驗證碼類Vcode41417.11.3 圖像處理類Image41517.11.4 文件上傳類FileUpload41617.11.5 BroPHP 2.0新增加的文件緩存類FileCache41817.11.6 BroPHP 2.0新增加的無限分類處理類CatTree42017.12 自定義功能擴展42317.12.1 自定義擴展類庫42317.12.2 自定義擴展函數庫42317.13 BroPHP 2.0數據庫分離部署方案42417.13.1 數據分離方法42417.13.2 數據庫連接配置42417.13.3 數據模型配置42517.14 BroPHP 2.0資源分布式部署42617.14.1 網站資源分布式部署方法42617.14.2 部署上傳的文件資源42717.14.3 部署縮略圖的資源位置42817.14.4 將公共資源和單個應用中的資源分離部署428
PHP是開發Web應用繫統很理想的工具,易於使用、功能強大、成本低廉、高安全性、開發速度快且執行靈活。《跟兄弟連學PHP》的出版已成為PHP學習者優選的工具書,為了讓初學者更精準地掌握PHP的重點、要點,特推出《跟兄弟連學PHP(精要版)》。本書以《跟兄弟連學PHP》為基礎,提取出的精華內容皆是PHP開發中必須掌握的技術點。全書以實用性為目標,包含PHP開發中推薦的各項技術,對已列出的每一個知識點都進行了深入詳細的講解,並附有大量的經典實例代碼,圖文並茂,循序漸進,同時側重介紹了PHP的相關技術在實際Web開發中的應用。對於PHP應用開發的新手而言,本書不失為一本很好的入門教材,內容既實用又全面,所有實例皆可在開發中直接應用,並輔以大量的視頻教程、配套的教學課件、章節練習題等,使讀者輕松掌握所學知識。本書還特別適合大、中專院校的師生作為PHP授課教材使用。