細說PHP(第2版)是一本頗受好評的書,全書內容深入淺出,又涉及廣泛,本書主要圍繞PHP的最新內容詳細講解、每個章節的知識點都講解到位,不需要參考其他書籍補充、實例豐富注釋詳盡、并以PHP面向對象的原則設計。是一本非常適合php初學者查閱的書籍,本節內容東坡小編為大家整理帶來的是一份pdf格式高清免費電子版的第二版細說php,需要查閱這本電子書的朋友只需點擊本文相應的下載地址進行下載后即可查閱!
細說php內容簡介
該書在內容編排上獨具匠心,并結合PHP和MySQL的最新規范,從基本的語法和規范入手,由淺入深,按循序漸進的原則精心組織各個章節內容,使各個知識點前后貫穿有序,將知識的連貫性和學習規律有機地組織在一起,通俗易懂,一步一步地引導讀者掌握PHP開發的全部知識體系結構。并以經驗為后盾,以實踐為指導,以實用為目標,深入淺出地講解了PHP開發中的每個知識點。目的是為PHP應用開發人員提供一整套實用的主流開發技術,讓讀者對PHP技術有更深刻、更系統的了解,既可以掌握PHP中最基礎、最常用的技術,又可以應用PHP中現在比較流行的新技術,還可以系統地理解實際Web系統開發的完整思路。通過本書內容的學習足夠完成動態網站和一些常用的Web系統軟件的開發工作。
細說php電子版目錄
第1章 lamp網站構建. 1
1.1 網站軟件簡介 1
1.1.1 b/s軟件體系結構 1
1.1.2 動態網站介紹 2
1.2 動態網站軟件開發所需的web構件 3
1.2.1 客戶端瀏覽器 4
1.2.2 擴展超文本標記語言xhtml 5
1.2.3 層疊樣式表css 6
1.2.4 xml和xslt 6
1.2.5 客戶端腳本編程語言 7
1.2.6 web服務器 8
1.2.7 服務器端腳本編程語言 9
1.2.8 數據庫管理系統 10
1.3 網站軟件開發平臺及工作流程 11
1.3.1 動態網站開發平臺 11
1.3.2 動態網站開發平臺技術比較 12
1.4 客戶端與服務器端交互的工作原理 13
1.4.1 http協議是什么 13
1.4.2 web的工作原理 14
1.5 lamp網站開發組合概述 16
1.5.1 linux操作系統 17
1.5.2 web服務器apache 17
1.5.3 mysql數據庫管理系統 18
1.5.4 php后臺腳本編程語言 18
1.5.5 lamp發展趨勢 20
1.6 小結 21
自測題 21
第2章 搭建php的開發環境 23
2.1 環境安裝對操作系統的選擇 23
2.1.1 選擇網站運營的操作系統 23
2.1.2 選擇網站開發的操作系統 24
2.2 linux系統下源代碼包方式安裝環境 24
2.2.1 安裝前準備 24
2.2.2 編譯安裝過程介紹 26
2.2.3 安裝libxml2最新庫文件 27
2.2.4 安裝libmcrypt最新庫文件 27
2.2.5 安裝zlib最新庫文件 28
2.2.6 安裝libpng最新庫文件 29
2.2.7 安裝jpeg6最新庫文件 29
2.2.8 安裝freetype最新庫文件 30
2.2.9 安裝autoconf最新的庫文件 30
2.2.10 安裝最新的gd庫文件 31
2.2.11 安裝新版本的apache服務器 31
2.2.12 安裝mysql數據庫管理系統 32
2.2.13 安裝最新版本的php模塊 36
2.2.14 安裝zend加速器 38
2.2.15 phpmyadmin的安裝 39
2.2.16 phpmyadmin的配置 40
2.3 在windows系統上安裝web工作環境 42
2.3.1 安裝前準備 42
2.3.2 安裝apache 43
2.3.3 安裝mysql 46
2.3.4 安裝php 52
2.3.5 安裝zend加速器 55
2.4 window系統上安裝集成開發環境 57
2.4.1 安裝前準備 58
2.4.2 安裝步驟 58
2.4.3 環境測試 60
2.5 小結 61
自測題 61
第3章 apache服務器的配置 62
3.1 apache簡介 62
3.1.1 apache的誕生 63
3.1.2 apache的特性 63
3.2 apache服務器的目錄結構 63
3.3 apache服務器配置文件結構說明 64
3.3.1 apache服務器配置文件位置 64
3.3.2 配置文件的語法 65
3.4 apache服務器全局參數設置 66
3.4.1 在主配置文件httpd.conf中的全局參數 67
3.4.2 附加配置文件httpd-default.conf中的
全局參數 70
3.4.3 附加配置文件httpd-mpm.conf中的全局
參數 71
3.5 apache服務器中使用配置段(容器) 74
3.5.1 文件系統容器 76
3.5.2 網絡空間容器 76
3.5.3 通配符和正則表達式 76
3.5.4 如何選擇使用容器 77
3.6 .htaccess文件和訪問限制 77
3.6.1 設置路徑別名 78
3.6.2 在.htaccess文件中設置目錄的訪問限制 80
3.7 設置虛擬主機 80
3.7.1 基于ip地址的虛擬主機 81
3.7.2 基于主機名的虛擬主機 83
3.8 小結 87
自測題 87
第4章 xhtml和css網頁標準化布局 89
4.1 網頁制作概述 89
4.1.1 xhtml基礎 89
4.1.2 css基礎 91
4.2 html的設計與應用 92
4.2.1 xhtml語言的語法 92
4.2.2 xhtml文件的主體結構 94
4.2.3 文字版面的編輯 97
4.2.4 創建圖像和鏈接 99
4.2.5 使用xhtml表格 101
4.2.6 xhtml框架結構 103
4.2.7 xhtml表單設計 106
4.3 css的設計與應用 109
4.3.1 將樣式表加入到html中 110
4.3.2 css選擇符 111
4.3.3 常見的樣式屬性和值 113
4.4 div+css網頁標準化布局 120
4.4.1 div+css的優勢 121
4.4.2 “無意義”的元素div和span 121
4.4.3 區塊框模型 122
4.4.4 區塊框定位 123
4.4.5 區塊框浮動 124
4.4.6 使用區塊框設計頁面布局 126
4.5 xhtml和css網站首頁面布局實例 129
4.5.1 xhtml文件的設計 129
4.5.2 css文件設計 130
4.6 小結 132
自測題 133
第5章 php的基本語法 136
5.1 php在web開發中的應用 136
5.2 第一個php腳本程序 138
5.2.1 php語言標記 141
5.2.2 指令分隔符“分號” 144
5.2.3 程序注釋 144
5.2.4 在程序中使用空白的處理 145
5.3 變量 146
5.3.1 變量的聲明 146
5.3.2 變量的命名 147
5.3.3 可變變量 148
5.3.4 變量的引用賦值 149
5.4 變量的類型 149
5.4.1 類型介紹 150
5.4.2 布爾型(boolean) 150
5.4.3 整型(integer) 151
5.4.4 浮點型(float或double) 152
5.4.5 字符串(string) 152
5.4.6 數組(array) 155
5.4.7 對象(object) 155
5.4.8 資源類型(resource) 156
5.4.9 null類型 156
5.4.10 偽類型介紹 157
5.4.11 數據類型之間相互轉換 157
5.5 常量 160
5.5.1 常量的定義和使用 160
5.5.2 常量和變量 161
5.5.3 預定義常量 161
5.6 php中的運算符 162
5.6.1 算術運算符 163
5.6.2 字符串運算符 165
5.6.3 賦值運算符 165
5.6.4 比較運算符 166
5.6.5 邏輯運算符 167
5.6.6 位運算符 168
5.6.7 其他運算符 171
5.6.8 運算符的優先級 173
5.7 表達式 174
5.8 小結 174
自測題 174
第6章 php的語言結構 176
6.1 流程控制概述 176
6.2 分支結構 176
6.2.1 單一條件分支結構(if) 177
6.2.2 雙向條件分支結構(else子句) 178
6.2.3 多向條件分支結構(elseif子句) 179
6.2.4 多向條件分支結構(switch語句) 180
6.2.5 巢狀條件分支結構 183
6.2.6 條件分支結構應用實例(簡單計算器) 184
6.3 循環結構 186
6.3.1 while語句 187
6.3.2 do…while循環 189
6.3.3 for語句 190
6.3.4 特殊的流程控制語句 192
6.4 php中的函數 195
6.4.1 函數的定義 195
6.4.2 自定義函數 195
6.4.3 函數的工作原理和結構化編程 201
6.4.4 php變量的范圍 202
6.4.5 參數的傳遞 204
6.4.6 變量函數 207
6.4.7 遞歸函數 208
6.4.8 使用自定義函數庫 209
6.4.9 使用系統函數庫 210
6.5 小結 210
自測題 211
第7章 php中的數組與數據結構 214
7.1 數組的概述 214
數組的分類 215
7.2 數組的定義 216
7.2.1 直接賦值的方式聲明數組 216
7.2.2 使用array()語言結構新建數組 218
7.2.3 多維數組的聲明 218
7.3 數組的遍歷 220
7.3.1 使用for語句循環遍歷數組 220
7.3.2 使用foreach語句遍歷數組 222
7.3.3 聯合使用list( )、each( )和while循環
遍歷數組 225
7.3.4 使用數組的內部指針控制函數遍歷
數組 227
7.4 預定義數組 228
7.4.1 服務器變量:$_server 229
7.4.2 環境變量:$_env 229
7.4.3 http get變量:$_get 230
7.4.4 http post變量:$_post 230
7.4.5 request變量:$_request 232
7.4.6 http文件上傳變量:$_files 232
7.4.7 http cookies:$_cookie 232
7.4.8 session變量:$_session 232
7.4.9 global變量:$globals 233
7.5 數組的相關處理函數 233
7.5.1 數組的鍵/值操作函數 233
7.5.2 統計數組元素的個數和唯一性 236
7.5.3 使用回調函數處理數組的函數 237
7.5.4 數組的排序函數 240
7.5.5 拆分、合并、分解和接合數組 244
7.5.6 數組與數據結構 247
7.5.7 其他有用的數組處理函數 248
7.6 小結 250
自測題 250
第8章 php面向對象的程序設計 253
8.1 面向對象的介紹 253
8.1.1 類和對象之間的關系 253
8.1.2 面向對象的程序設計 254
8.2 如何抽象一個類 255
8.2.1 類的聲明 255
8.2.2 成員屬性 256
8.2.3 成員方法 257
8.3 通過類實例化對象 258
8.3.1 創建對象 259
8.3.2 對象類型在內存中的分配 259
8.3.3 對象中成員的訪問 261
8.3.4 特殊的對象引用“$this” 263
8.3.5 構造方法與析構方法 264
8.4 封裝性 267
8.4.1 設置私有成員 268
8.4.2 私有成員的訪問 269
8.4.3 __set()、__get()、__isset()和__unset()
四個方法 271
8.5 繼承性 276
8.5.1 類繼承的應用 277
8.5.2 訪問類型控制 278
8.5.3 子類中重載父類的方法 280
8.6 常見的關鍵字和魔術方法 282
8.6.1 final關鍵字的應用 283
8.6.2 static和const關鍵字的使用 283
8.6.3 克隆對象 285
8.6.4 類中通用的方法__tostring() 287
8.6.5 通過__call()方法處理錯誤調用 287
8.6.6 自動加載類 288
8.6.7 對象串行化 289
8.7 抽象類與接口 291
8.7.1 抽象方法和抽象類 291
8.7.2 接口技術 293
8.8 多態性的應用 295
8.9 小結 300
自測題 300
第9章 字符串處理與正則表達式 303
9.1 字符串的處理介紹 303
9.1.1 字符串的處理方式 303
9.1.2 字符串類型的特點 303
9.2 常用的字符串輸出函數 304
9.3 常用的字符串格式化函數 306
9.3.1 去除空格和字符串填補函數 307
9.3.2 字符串大小寫的轉換 308
9.3.3 和html標簽相關的字符串格式化 309
9.3.4 其他字符串格式化函數 313
9.4 字符串比較函數 314
9.4.1 按字節順序進行字符串比較 314
9.4.2 按自然排序進行字符串比較 315
9.5 正則表達式在字符串處理中的應用 316
9.5.1 正則表達式簡介 316
9.5.2 正則表達式的語法規則 317
9.6 與perl兼容的正則表達式函數 322
9.6.1 字符串的匹配與查找 323
9.6.2 字符串的替換 326
9.6.3 字符串的分割和連接 331
9.7 文章發布操作示例 333
9.8 小結 337
自測題 337
第10章 php常用功能模塊 340
10.1 錯誤和異常處理 340
10.1.1 錯誤類型和基本的調試方法 341
10.1.2 錯誤日志 343
10.1.3 異常處理 345
10.2 日期和時間 350
10.2.1 unix時間戳 350
10.2.2 在php中獲取日期和時間 351
10.2.3 日期和時間格式化輸出 352
10.2.4 修改php的默認時區 353
10.2.5 使用微秒計算php腳本執行時間 354
10.3 動態圖像處理 355
10.3.1 php中gd庫的使用 355
10.3.2 畫布管理 356
10.3.3 設置顏色 357
10.3.4 生成圖像 358
10.3.5 繪制圖像 359
10.3.6 在圖像中繪制文字 361
10.3.7 在php中實現驗證碼類的設計.. 363
10.4 小結 367
自測題 367
第11章 文件系統處理 369
11.1 文件系統概述 369
11.1.1 文件類型 369
11.1.2 文件的屬性 370
11.2 目錄的基本操作 373
11.2.1 解析目錄路徑 373
11.2.2 遍歷目錄 375
11.2.3 統計目錄大小 376
11.2.4 建立和刪除目錄 377
11.2.5 復制或移動目錄 377
11.3 文件的基本操作 378
11.3.1 文件的打開與關閉 378
11.3.2 寫入文件 380
11.3.3 讀取文件內容 381
11.3.4 訪問遠程文件 383
11.3.5 移動文件指針 384
11.3.6 文件的鎖定機制 385
11.3.7 文件的一些基本操作函數 387
11.4 文件的上傳與下載 388
11.4.1 文件上傳 389
11.4.2 處理多個文件上傳 392
11.4.3 文件下載 393
11.5 文件系統項目實例 394
11.5.1 功能分析 394
11.5.2 系統功能設計 395
11.5.3 實例代碼實現 396
11.6 小結 418
自測題 418
第12章 mysql數據庫設計 420
12.1 mysql數據庫管理 420
12.1.1 數據庫管理系統 420
12.1.2 結構化查詢語言sql 421
12.1.3 mysql數據庫的連接與關閉 422
12.1.4 創建、選擇及查看數據庫 423
12.2 mysql數據庫中數據表的設計 423
12.2.1 數據表(table) 423
12.2.2 數據值和列類型 424
12.2.3 數據字段屬性 427
12.2.4 創建、修改及刪除表 427
12.2.5 數據表的類型及存儲位置 430
12.2.6 數據表的默認字符集 431
12.2.7 創建索引 432
12.3 數據庫的設計步驟 435
12.3.1 需求分析 435
12.3.2 概念設計 437
12.3.3 邏輯設計 439
12.4 sql語言設計 441
12.4.1 執行ddl命令操作數據對象 441
12.4.2 使用dml命令操作數據表中的數據
記錄 443
12.4.3 通過dql命令查詢數據表中的數據 445
12.5 使用php腳本向mysql服務器發送
sql 455
12.5.1 在php腳本中連接mysql服務器 456
12.5.2 在php程序中選擇已創建的數據庫 456
12.5.3 執行sql命令 457
12.5.4 在php腳本中處理select查詢
結果集 458
12.6 小結 460
自測題 460
第13章 php的mysqli擴展 464
13.1 啟用mysqli擴展模塊 464
13.2 使用mysqli類 465
13.2.1 連接mysql服務器 466
13.2.2 處理連接錯誤報告 467
13.2.3 關閉與mysql服務器連接 468
13.2.4 執行sql命令 469
13.3 使用mysqli_result類 469
13.3.1 創建結果集對象 470
13.3.2 回收查詢內存 470
13.3.3 從結果集中解析數據 471
13.3.4 從結果集中獲取數據列的信息 474
13.3.5 一次執行多條sql命令 475
13.4 使用mysqli_stmt類 476
13.4.1 獲取預處理語句對象 477
13.4.2 綁定參數 477
13.4.3 執行準備好的語句 478
13.4.4 回收資源 478
13.4.5 簡單的示例分析 478
13.4.6 使用預處理語句處理select查詢
結果 479
13.5 數據庫事務 481
13.5.1 事務處理 481
13.5.2 構建事務應用程序 482
13.6 mvc模式實現商品管理系統 483
13.6.1 mvc設計模式 483
13.6.2 商品管理系統的設計與實現 485
13.7 小結 494
自測題 494
第14章 數據庫抽象層pdo 497
14.1 pdo所支持的數據庫 497
14.2 pdo的安裝 498
14.3 創建pdo對象 499
14.3.1 以多種方式調用構造方法 500
14.3.2 pdo對象中的成員方法 502
14.4 使用pdo對象 502
14.4.1 調整pdo的行為屬性 503
14.4.2 pdo處理php程序和數據庫之間的
數據類型轉換 503
14.4.3 pdo的錯誤處理模式 504
14.4.4 使用pdo執行sql語句 504
14.5 pdo對預處理語句的支持 506
14.5.1 了解pdostatement對象 507
14.5.2 準備語句 507
14.5.3 綁定參數 508
14.5.4 執行準備好的查詢 509
14.5.5 獲取數據 510
14.5.6 大數據對象的存取 513
14.6 pdo的事務處理 514
14.7 小結 515
自測題 515
第15章 會話控制 517
15.1 為什么要使用會話控制 517
15.2 會話跟蹤的方式 518
15.3 cookie的應用 518
15.3.1 cookie概述 519
15.3.2 向客戶端電腦中設置cookie 519
15.3.3 在php腳本中讀取cookie的資料內容 521
15.3.4 數組形態的cookie應用 521
15.3.5 刪除cookie 522
15.3.6 基于cookie的用戶登錄模塊 522
15.4 session的應用 524
15.4.1 session概述 524
15.4.2 配置session 525
15.4.3 session的聲明與使用 526
15.4.4 注冊一個會話變量和讀取session 526
15.4.5 注銷變量與銷毀session 527
15.4.6 傳遞session id 528
15.5 一個簡單的郵件系統 530
15.5.1 為郵件系統準備數據 531
15.5.2 編碼實現郵件系統 531
15.5.3 郵件系統執行說明 534
15.6 小結 535
自測題 535
第16章 php的模板技術smarty 537
16.1 什么是模板引擎 537
16.2 編寫自己的模板引擎 538
16.2.1 創建自己的模板引擎類 538
16.2.2 使用自已的模板引擎 540
16.2.3 自定義模板的使用示例分析 542
16.3 選擇smarty模板引擎 545
16.4 安裝smarty及初使化配置 546
16.4.1 安裝smarty 546
16.4.2 初使化smarty類庫的默認設置 546
16.4.3 第一個smarty的簡單示例 548
16.5 smarty在應用程序邏輯層的使用步驟 550
16.6 smarty模板中的程序邏輯 551
16.6.1 模板中的注釋 551
16.6.2 模板中變量的聲明 552
16.6.3 在模板中輸出從php分配的變量 552
16.6.4 模板中變量的數學計算 554
16.6.5 在模板中使用{$smarty}保留變量 554
16.6.6 變量調解器 555
16.6.7 模板的控制結構 557
16.6.8 在模板中包含子模板 563
16.7 為smarty模板創建配置文件 563
16.7.1 配置文件語法格式 563
16.7.2 加載配置文件 564
16.7.3 引用配置文件中的變量 565
16.8 smarty處理頁面緩存 566
16.8.1 在smarty中控制緩存 567
16.8.2 每個頁面多個緩存 568
16.8.3 為緩存實例消除處理開銷 568
16.8.4 清除緩存 569
16.8.5 關閉局部緩存 570
16.9 應用smarty實現分頁示例 571
16.9.1 準備工作 571
16.9.2 設計數據庫操作類 572
16.9.3 設計分頁操作類 573
16.9.4 php的程序邏輯層 575
16.9.5 smarty模板的表現層 576
16.10 小結 577
自測題 577
第17章 內容管理系統(cms) 579
17.1 web軟件開發流程概述 579
17.1.1 web開發團隊的成員 579
17.1.2 web軟件開發流程 580
17.1.3 項目開發規范 582
17.2 需求分析 584
17.2.1 cms簡介 584
17.2.2 用戶行為分析 584
17.2.3 系統目標 585
17.2.4 系統特點 586
17.3 系統功能預覽 586
17.3.1 cms系統安裝 586
17.3.2 登錄管理平臺 589
17.3.3 常規設置管理 590
17.3.4 友情鏈接管理 591
17.3.5 圖片管理 592
17.3.6 欄目管理 595
17.3.7 文章管理 596
17.3.8 用戶管理 597
17.3.9 網站首頁 598
17.3.10 文章列表頁面 599
17.3.11 文章內容頁面 600
17.4 數據庫設計 601
17.4.1 數據庫需求分析 601
17.4.2 數據表關系 605
17.5 系統架構 605
17.5.1 系統體系結構 605
17.5.2 管理平臺的文件結構 607
17.5.3 網站前臺模板風格的文件結構 608
17.6 常用的功能模塊開發 610
17.6.1 系統安裝模塊設計 610
17.6.2 管理平臺(后臺)的模塊設計 616
17.6.3 無限分類模塊設計 619
17.6.4 網站首頁面的設計 624
17.7 小結 625
附錄A php配置文件詳解 627