零基礎PHP學習筆記( 簡體 字) | |
作者:明日科技 | 類別:1. -> 程式設計 -> 網路編程 -> PHP |
出版社:電子工業出版社 | 3dWoo書號: 54276 詢問書籍請說出此書號! 有庫存 NT售價: 540 元 |
出版日:3/1/2021 | |
頁數:392 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121402661 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第一篇? 基礎篇
第 1 章 PHP 起步 1 1.1 搭建 PHP 開發環境 1 1.1.1 phpStudy 的下載與安裝 1 1.1.2 PHP 服務器的啟動與停止 . 3 1.1.3 phpStudy 的常用設置 .. 5 1.2 PhpStorm 的下載與安裝 6 1.2.1 PhpStorm 的下載 6 1.2.2 PhpStorm 的安裝 8 1.3 PhpStorm 的基本操作 . 14 1.3.1 創建 PHP 項目 . 14 1.3.2 打開已有項目 .. 16 1.3.3 在項目中創建文件夾和文件 17 1.4 PhpStorm 的常用設置 . 21 1.4.1 設置文件編碼格式 21 1.4.2 其他常用設置 .. 22 1.5 小結 . 22 第 2 章 PHP 語言基礎 23 2.1 PHP 標記風格 .. 23 2.2 PHP 注釋的應用 24 2.3 PHP 的數據類型 26 2.3.1 數據類型 26 2.3.2 數據類型轉換 .. 27 2.3.3 檢測數據類型 .. 29 2.4 PHP 常量 30 2.4.1 定義常量 30 2.4.2 預定義常量 31 2.5 PHP 變量 32 2.5.1 變量賦值及使用 33 2.5.2 PHP 預定義變量 35 2.6 PHP 操作符 . 36 2.6.1 算術操作符 36 2.6.2 字符串操作符 .. 37 2.6.3 賦值操作符 38 2.6.4 遞增或遞減操作符 38 2.6.5 邏輯操作符 39 2.6.6 比較操作符 40 2.6.7 條件操作符 40 2.6.8 操作符的優先級 41 2.7 PHP 表達式 . 42 2.8 PHP 函數 43 2.8.1 定義和調用函數 43 2.8.2 在函數間傳遞參數 44 2.8.3 從函數中返回值 46 2.8.4 變量作用域 47 2.9 PHP 編碼規范 .. 48 2.9.1 PSR-1 編碼規范 48 2.9.2 PSR-2 編碼規范 49 2.10 小結 51 第 3 章 流程控制語句 52 3.1 條件控制語句 .. 52 3.1.1 if 語句 52 3.1.2 ifelse 語句 54 3.1.3 elseif 語句 .. 55 3.1.4 switch 語句 56 3.2 循環控制語句 .. 58 3.2.1 for 循環語句 58 3.2.2 while 循環語句 60 3.2.3 dowhile 循環語句 61 3.3 跳轉語句 62 3.3.1 break 語句 . 62 3.3.2 continue 語句 63 3.4 學習筆記 64 學習筆記一:ifelse 執行順序 64 學習筆記二:while 循環語句和 dowhile 循環語句的區別 64 3.5 小結 . 65 第 4 章 字符串操作與正則表達式 66 4.1 字符串的定義方法 66 4.1.1 使用單引號或雙引號定義字符串 66 4.1.2 使用定界符定義字符串 67 4.2 字符串操作 . 68 4.2.1 去除字符串首尾空格和特殊字符 68 4.2.2 獲取字符串的長度 70 4.2.3 截取字符串 73 4.2.4 檢索字符串 76 4.2.5 替換字符串 79 4.2.6 分割字符串、合成字符串 81 4.3 正則表達式 . 83 4.3.1 正則表達式簡介 83 4.3.2 行定位符 83 4.3.3 元字符 .. 84 4.3.4 限定符 .. 84 4.3.5 字符類 .. 85 4.3.6 排除字符 85 4.3.7 選擇字符 85 4.3.8 轉義字符 86 4.3.9 分組 . 86 4.4 正則表達式在 PHP 中的應用 86 4.5 學習筆記 88 學習筆記一:慎用 strlen() 函數處理中文字符 88 學習筆記二:strstr() 函數和 strpos() 函數的區別 89 4.6 小結 . 89 第 5 章 PHP 數組應用 90 5.1 什么是數組 . 90 5.2 創建數組 91 5.2.1 使用 array() 函數創建數組 91 5.2.2 通過賦值方式創建數組 93 5.3 數組的類型 . 93 5.3.1 數字索引數組 .. 93 5.3.2 關聯數組 94 5.4 多維數組 95 5.5 遍歷數組 97 5.6 統計數組元素個數 98 5.7 查詢數組中的指定元素 99 5.8 獲取數組中的最后一個元素 102 5.9 向數組中添加元素 102 5.10 刪除數組中的重復元素 103 5.11 其他常用數組函數 104 5.11.1 數組排序函數 104 5.11.2 數組計算函數 106 5.12 學習筆記 . 107 學習筆記一:數組的索引 .. 107 學習筆記二:使用 count() 函數計算二維數組的長度 107 5.13 小結 .. 108 第 6 章 面向對象的程序設計 ..109 6.1 面向對象的基本概念 109 6.1.1 類的概念 . 109 6.1.2 對象的概念 109 6.1.3 面向對象編程的三大特點 .. 110 6.2 PHP 與對象 111 6.2.1 類的定義 ..111 6.2.2 成員方法 ..111 6.2.3 類的實例化 112 6.2.4 成員變量 . 113 6.2.5 類常量 114 6.2.6 構造方法和析構方法 115 6.2.7 繼承和多態 118 6.2.8 “$this->”和“::”的使用 122 6.2.9 數據隱藏 . 124 6.2.10 靜態變量(方法) 127 6.3 PHP 對象的高級應用 128 6.3.1 fifinal 關鍵字 128 6.3.2 抽象類 129 6.3.3 接口的使用 131 6.3.4 對象類型檢測 133 6.3.5 魔術方法 (__) . 133 6.4 面向對象的應用 . 138 6.5 學習筆記 140 學習筆記一:類和對象的關系 . 140 學習筆記二:方法與函數的區別 .. 141 6.6 小結 141 第二篇? 提高篇 第 7 章 PHP 與 Web 頁面交互142 7.1 Web 工作原理 142 7.1.1 HTTP 協議 142 7.1.2 Web 數據交互過程 .. 143 7.2 HTML 表單 144 7.2.1 HTML 簡介 144 7.2.2 HTML 表單結構 . 147 7.2.3 表單元素 . 148 7.3 CSS 美化表單頁面 151 7.3.1 CSS 簡介 . 151 7.3.2 插入 CSS 樣式表 152 7.3.3 CSS 應用實例 155 7.4 JavaScript 表單驗證 158 7.4.1 JavaScript 簡介 158 7.4.2 調用 JavaScript 159 7.4.3 用戶注冊表單驗證實例 . 160 7.5 PHP 獲取表單數據 163 7.5.1 獲取 POST 方式提交的表單數據 .. 164 7.5.2 獲取 GET 方式提交的表單數據 165 7.6 學習筆記 167 學習筆記一:Web 工作原理 167 學習筆記二:JavaScript 和 jQuery 168 7.7 小結 168 第 8 章 Cookie 與 Session169 8.1 Cookie 管理 169 8.1.1 了解 Cookie 169 8.1.2 創建 Cookie 171 8.1.3 讀取 Cookie 172 8.1.4 刪除 Cookie 173 8.1.5 Cookie 的生命周期 .. 174 8.1.6 7 天免登錄功能的實現 .. 174 8.2 Session 管理 180 8.2.1 了解 Session 180 8.2.2 創建會話 . 181 8.2.3 使用 Session 實現判斷用戶登錄功能 . 182 8.3 Session 高級應用 185 8.3.1 Session 臨時文件 185 8.3.2 Session 緩存 186 8.3.3 Session 數據庫存儲 . 187 8.4 學習筆記 192 學習筆記一:Cookie 和 Session 的區別 192 學習筆記二:Cookie 和 Session 的關系 193 8.5 小結 193 第 9 章 PHP 操作 MySQL 數據庫 .194 9.1 PHP 操作 MySQL 數據庫的方法 194 9.1.1 連接 MySQL 服務器 194 9.1.2 選擇 MySQL 數據庫 196 9.1.3 執行 SQL 語句 197 9.1.4 將結果集返回到數組中 . 198 9.1.5 從結果集中獲取一行作為對象 202 9.1.6 從結果集中獲取一行作為枚舉數組 204 9.1.7 從結果集中獲取一行作為關聯數組 205 9.1.8 獲取查詢結果集中的記錄數 205 9.1.9 釋放內存 . 206 9.1.10 關閉連接 207 9.2 管理 MySQL 數據庫中的數據 .. 207 9.2.1 添加數據 . 208 9.2.2 編輯數據 . 212 9.2.3 刪除數據 . 217 9.3 學習筆記 219 學習筆記一:mysqli_fetch_array() 函數、mysqli_fetch_assoc() 函數、 mysqli_fetch_row() 函數和 mysqli_fetch_object() 函數的區別 .. 219 學習筆記二:mysqli_prepare() 函數和 mysqli_stmt_prepare() 函數的區別 220 9.4 小結 220 第 10 章 PDO 數據庫抽象層 ..221 10.1 什么是 PDO . 221 10.1.1 PDO 概述 221 10.1.2 PDO 的特點 . 222 10.1.3 安裝 PDO 222 10.2 PDO 連接數據庫 223 10.2.1 PDO 構造函數 .. 223 10.2.2 DSN 詳解 224 10.3 在 PDO 中執行 SQL 語句 . 224 10.4 在 PDO 中獲取結果集 . 226 10.4.1 fetch() 方法 226 10.4.2 fetchAll() 方法 .. 229 10.4.3 fetchColumn() 方法 231 10.5 在 PDO 中捕獲 SQL 語句中的錯誤 .. 232 10.5.1 默認模式 233 10.5.2 警告模式 234 10.5.3 異常模式 235 10.6 PDO 中的錯誤處理 . 236 10.6.1 errorCode() 方法 236 10.6.2 errorInfo() 方法 . 236 10.7 PDO 中的事務處理 . 237 10.8 學習筆記 . 239 學習筆記一:為什么 PDO 能夠防止 SQL 注入 . 239 學習筆記二:PDO 類和 PDOStatement 類的關系 239 10.9 小結 .. 239 第 11 章 文件系統 .240 11.1 文件處理 .. 241 11.1.1 打開 / 關閉文件 241 11.1.2 從文件中讀取數據 242 11.1.3 將數據寫入文件 249 11.1.4 操作文件 250 11.2 目錄處理 .. 251 11.2.1 打開 / 關閉目錄 251 11.2.2 瀏覽目錄 252 11.2.3 操作目錄 253 11.3 文件上傳 .. 254 11.3.1 配置 php.ini 文件 254 11.3.2 預定義變量 $_FILES 255 11.3.3 文件上傳函數 258 11.3.4 多文件上傳 .. 262 11.4 文件下載 .. 265 11.5 學習筆記 .. 268 學習筆記一:fifile() 函數和 fifile_get_contents() 函數的區別 268 學習筆記二:設置表單屬性 enctype .. 268 11.6 小結 268 第 12 章 圖形圖像處理技術 269 12.1 在 PHP 中加載 GD 庫 .. 269 12.2 GD 庫的應用 270 12.2.1 創建簡單的圖像 270 12.2.2 使用 GD2 函數庫在照片上添加文字 270 12.2.3 使用圖像處理技術生成驗證碼 272 12.3 JpGraph 圖像繪制庫 277 12.3.1 JpGraph 的下載 . 277 12.3.2 JpGraph 的中文配置 278 12.3.3 JpGraph 的使用 . 278 12.4 JpGraph 典型應用 280 12.4.1 使用柱形圖統計圖書月銷售量 280 12.4.2 使用折線圖統計三本圖書的銷售量 . 282 12.4.3 使用 3D 餅形圖統計各類商品的年銷售額比率 284 12.5 學習筆記 . 285 學習筆記一:JpGraph 中文亂碼 285 學習筆記二:如何使用 JpGraph 的其他圖形 285 12.6 小結 .. 286 第 13 章 PHP 與 AJAX 技術 ..287 13.1 AJAX 概述 288 13.1.1 什么是 AJAX 288 13.1.2 AJAX 的開發模式 . 288 13.1.3 AJAX 的優點 289 13.2 AJAX 使用的技術 289 13.2.1 AJAX 與 JavaScript 289 13.2.2 XMLHttpRequest 對象 . 289 13.3 AJAX 技術的典型應用 293 13.3.1 應用 AJAX 技術檢測用戶名 . 293 13.3.2 使用 jQuery 的 AJAX 操作函數 298 13.4 學習筆記 . 301 學習筆記一:瀏覽器兼容性問題 .. 301 學習筆記二:使用 jQuery 的 AJAX 方法 . 301 13.5 小結 .. 301 第 14 章 ThinkPHP 框架 302 14.1 ThinkPHP 簡介 .. 302 14.1.1 ThinkPHP 框架的特點 . 302 14.1.2 環境要求 303 14.1.3 下載 ThinkPHP 框架 304 14.2 ThinkPHP 基礎 .. 304 14.2.1 目錄結構 304 14.2.2 自動生成目錄 305 14.2.3 快速生成新模塊 307 14.2.4 模塊化設計 .. 309 14.2.5 執行流程 310 14.2.6 命名規范 310 14.3 ThinkPHP 的配置 311 14.3.1 配置格式 312 14.3.2 調試配置 313 14.4 ThinkPHP 的控制器 . 313 14.4.1 控制器的創建 313 14.4.2 輸入變量 316 14.4.3 請求類型 317 14.4.4 URL 生成 318 14.4.5 跳轉和重定向 319 14.4.6 AJAX 返回 320 14.5 ThinkPHP 的模型 322 14.5.1 模型定義 322 14.5.2 實例化模型 .. 323 14.5.3 連接數據庫 .. 325 14.5.4 連貫操作 325 14.5.5 CURD 操作 .. 327 14.6 ThinkPHP 的視圖 333 14.6.1 模板定義 333 14.6.2 模板賦值 334 14.6.3 指定模板文件 334 14.7 內置 ThinkTemplate 模板引擎 . 338 14.7.1 變量輸出 338 14.7.2 使用函數 340 14.7.3 內置標簽 340 14.7.4 模板繼承 341 14.8 學習筆記 . 341 學習筆記一:什么是單一入口 . 341 學習筆記二:為什么要使用 MVC 設計模式 342 14.9 小結 .. 342 第三篇? 項目篇 第 15 章 51 購商城 343 15.1 系統功能設計 343 15.1.1 系統功能結構 343 15.1.2 系統業務流程 344 15.2 系統開發必備 345 15.2.1 系統開發環境 345 15.2.2 文件夾組織結構 345 15.3 數據庫設計 .. 346 15.3.1 數據庫概要說明 346 15.3.2 數據庫邏輯設計 347 15.4 前臺用戶模塊設計 .. 349 15.4.1 會員注冊模塊 349 15.4.2 會員登錄模塊 353 15.5 前臺首頁模塊設計 .. 353 15.5.1 商品分類模塊 355 15.5.2 商品列表模塊 360 15.6 購物車模塊設計 361 15.6.1 添加商品至購物車 361 15.6.2 查看購物車商品 363 15.6.3 清空購物車 .. 365 15.6.4 添加收貨地址 366 15.6.5 提交訂單 369 15.7 后臺模塊設計 370 15.7.1 管理員登錄模塊 371 15.7.2 后臺首頁 372 15.7.3 商品模塊 373 15.7.4 訂單模塊 374 15.7.5 其他模塊 375 15.8 小結 .. 376 本書以初學者為對象,通過學習筆記的方式,系統地介紹了使用 PHP 語言進行程序開發的各種技術。全書共 15 章,包括的知識點有 PHP 集成開發環境、變量、常量、操作符與表達式、流程控制語句、數組、類、 系統函數、正則表達式、表單、Cookie 與 Session、MySQL 數據庫的操作、異常處理、文件操作、圖形圖像、AJAX 技術、ThinkPHP 框架、商城的開發。全書內容豐富翔實,囊括了初學者必備的知識點,語言描述、示例講解通俗易懂,結合學習中經常出現的各種問題和需要提示的要點與重點,用學習筆記的形式進行了提煉和總結,適合讀者自學。
前言
PHP的英文全稱是“ Hypertext Preprocessor”(超文本預處理語言)。它是在服務器端執行的腳本語言。與 C語言類似,PHP是常用的網站編程語言。 PHP語言主要有以下特點。 (1)開源性和免費性。由于 PHP解釋器的源代碼是公開的,所以安全系數較高的網站可以自己更改 PHP的解釋程序。另外,PHP運行環境的使用也是免費的。 (2)跨平臺性強。 PHP的解釋器是開源的,能夠在所有操作系統平臺上穩定運行,這使 PHP成為常用的服務器語言。 (3)快捷性。 PHP是一門非常容易學習和使用的語言,它的語法特點類似于 C語言,但沒有 C語言復雜的地址操作。而且, PHP語言加入了面向對象的概念,再加上它具有簡捷的語法規則,使操作編輯非常簡單,實用性很強。 (4)面向過程方法和面向對象方法并用。在 PHP的使用中,不僅可以分別使用面向過程方法和面向對象方法,還可以將面向過程方法和面向對象方法一起混用,這是其他編程語言做不到的。 (5)運行高效性。由于 PHP運行在相應的平臺解釋器上,消耗系統資源比較少,運行環境簡單,所以效率很高。 (6)數據庫連接廣泛性。 PHP可以與很多主流的數據庫建立連接,如 MySQL、 ODBC、Oracle、AdabasD、S等。PHP是利用編譯的不同函數與這些數據庫建立連接的, PHPLIB就是常用的為一般事務提供的基庫。因此, PHP一直受到廣大編程人員的青睞,是編程初學者進行 Web開發的首選程序設計語言。 本書內容 本書以初學者為對象,通過學習筆記的方式,系統地介紹了使用 PHP語言進行程序開發的各種技術。本書提供了從入門到編程高手所必備的各類知識,本書共 15章,大體結構如下。 本書特點 由淺入深,循序漸進。本書以初、中級程序員為對象,讓他們先從PHP語言基礎學起,再學習如何使用PHP語言進行Web交互開發及數據庫開發等高級技術,最后學習開發一個完整的項目。講解過程中步驟詳盡,版式新穎,讀者在閱讀時一目了然,從而快速掌握書中內容。 教學視頻,講解詳細。書中每一章節均提供聲圖并茂的教學視頻。這些視頻能夠引導初學者快速入門,增強進一步學習的信心,從而快速成為編程高手。 實例典型,輕松易學。通過實例學習是非常好的學習方式,本書通過“一個知識點、一個實例、一個結果”的模式,透徹詳盡地講述了實際開發中所需的各類知識。另外,為了便于讀者閱讀程序代碼,快速學習編程技能,書中的關鍵代碼都提供了相應的注釋。 學習筆記,學記無憂。本書根據需要在各章安排了學習筆記欄目,讓讀者可以在學習過程中輕松地理解相關知識點及概念,快速掌握個別技術的應用技巧。 讀者對象 初學編程的自學者。 編程愛好者。 大中專院校的教師和學生。 相關培訓機構的教師和學員。 畢業設計的學生。 初、中級程序開發人員。 程序測試及維護人員。 參加實習的“菜鳥”程序員。 讀者服務 為了方便解決本書疑難問題,我們提供了多種服務方式,并由作者團隊提供在線技術指導和社區服務,服務方式如下。 致讀者 本書由明日科技Web開發團隊組織編寫,主要人員有何平、王小科、申小琦、趙寧、李菁菁、張鑫、周佳星、王國輝、李磊、賽奎春、楊麗、高春艷、馮春龍、張寶華、龐鳳、宋萬勇、葛忠月等。在編寫過程中,我們以科學、嚴謹的態度,力求精益求精,但疏漏之處在所難免,敬請廣大讀者批評指正。 感謝您購買本書,希望本書能成為您編程路上的領航者。 祝讀書快樂! |