商品簡介
作者簡介
目次
商品簡介
PHP是一種創建動態交互性站點的服務器端腳本語言,是建立動態網站的強大工具。PHP的語法吸收了C語言、Java和Perl的特點,主要用於Web開發領域。
全書共分12章,包括PHP的基礎知識、MySQL的相關知識、內置函數、面向對象與數據庫的相關知識、記帳網站的實現、微信開發以及圖片上傳的原理等。書中的知識結合生活實例進行講解,而且涉及的程序代碼也給出了詳細的注釋,可以使讀者輕鬆掌握PHP程序開發的相關知識,快速提高專業開發技能。
本書可作為PHP的學習指南,或作為Web開發技術人員的參考用書,也可作為教材供培訓機構或者學校使用。
全書共分12章,包括PHP的基礎知識、MySQL的相關知識、內置函數、面向對象與數據庫的相關知識、記帳網站的實現、微信開發以及圖片上傳的原理等。書中的知識結合生活實例進行講解,而且涉及的程序代碼也給出了詳細的注釋,可以使讀者輕鬆掌握PHP程序開發的相關知識,快速提高專業開發技能。
本書可作為PHP的學習指南,或作為Web開發技術人員的參考用書,也可作為教材供培訓機構或者學校使用。
作者簡介
劉聲傑,2010年開始接觸PHP語言。2012年參加工作後,一直從事後臺和接口方面的開發,精通PHP、JavaScript、jQuery、HTML5、MySQL和Vue等一系列的Web技術棧,對Java、Go和Python編程語言有深入研究;獨立負責開發海掌櫃、華商之家、9451動態域名、愛羽客APP彈窗等項目,解決了商家線下掃碼支付、微信收款碼和普通二維碼收款碼合併問題。
目次
第 1章 預備知識 1
1.1 URL相關知識 1
1.1.1 陌生而熟悉的URL 2
1.1.2 URL的組成 2
1.1.3 非常優秀的Chrome瀏覽器 3
1.1.4 URL編碼 4
1.2 一個經典的小型PHP網站運行原理 5
1.3 服務端各個角色介紹 6
1.4 4個環境 7
1.5 本地開發環境搭建 8
1.5.1 環境說明 9
1.5.2 安裝Notepad++軟件 9
1.5.3 一個神奇的現象 10
1.5.4 hosts文件的作用 10
1.5.5 安裝XAMPP 11
1.5.6 配置Web服務器 12
1.5.7 安裝PhpStorm軟件 13
1.6 習題 16
第 2章 基礎知識講解 17
2.1 數據類型與變量 18
2.1.1 字符串 18
2.1.2 為什麼需要注釋 19
2.1.3 變量 20
2.1.4 如何取變量名 21
2.1.5 整數 22
2.1.6 浮點數 22
2.1.7 數組 22
2.1.8 訪問數組元素 26
2.2 數據運算 27
2.2.1 基本的算術運算符 27
2.2.2 常用的比較運算符 28
2.2.3 布爾值 29
2.2.4 PHP7新增的比較運算符 29
2.2.5 賦值運算符與字符串連接符 30
2.2.6 邏輯運算符 31
2.2.7 解決你心裡的疑惑 31
2.3 結構化程序設計的四大利器 31
2.3.1 記帳數據的表示 32
2.3.2 選擇結構 33
2.3.3 循環結構 35
2.3.4 順序結構 37
2.3.5 函數 37
2.4 編碼規範 38
2.5 習題 38
第3章 將混亂思維撥亂反正的3種方法 40
3.1 偽代碼 40
3.1.1 第 1個需求的實現 40
3.1.2 文件包含 41
3.1.3 第 2個需求的實現 43
3.1.4 第3個需求的實現 45
3.2 思維導圖工具 48
3.2.1 任務需求 48
3.2.2 第 1階段 48
3.2.3 第 2階段 49
3.2.4 第3階段 49
3.3 自頂向下逐步細化的方法 50
3.4 習題 51
第4章 MySQL數據庫 52
4.1 擴展記帳功能 52
4.2 關系數據庫 53
4.2.1 抽取基礎數據 53
4.2.2 數據身份證 54
4.2.3 抽取關係 54
4.2.4 索引 55
4.3 數據類型及其相關知識 56
4.3.1 數值類型 56
4.3.2 字符串類型 56
4.3.3 其他數據類型 57
4.3.4 單字節和多字節字符串 57
4.3.5 時間戳 58
4.3.6 字符集與排序規則 58
4.3.7 圖片、Word文檔等二進制數據的存儲 59
4.3.8 最終的數據表結構 59
4.4 操作數據庫之命令行方式 61
4.4.1 進入命令提示符窗口 61
4.4.2 設置環境變量 62
4.4.3 數據庫基礎操作 64
4.4.4 創建與刪除數據表操作 66
4.4.5 插入數據操作 69
4.4.6 查詢數據操作 73
4.4.7 修改數據操作 77
4.4.8 刪除數據操作 79
4.4.9 事務相關 80
4.5 操作數據庫之可視化管理工具 81
4.5.1 phpMyAdmin 81
4.5.2 Navicat for MySQL 83
4.6 MariaDB與MySQL的關係 84
4.7 習題 84
第5章 內置函數應用 85
5.1 驗證類應用 85
5.1.1 手機號碼驗證 85
5.1.2 URL驗證 87
5.1.3 郵箱驗證 89
5.1.4 大小寫字母密碼組合驗證 90
5.1.5 大小寫字母+數字密碼組合驗證 91
5.1.6 日期驗證 92
5.2 數據生成應用 93
5.2.1 訂單號生成 94
5.2.2 QQ號生成 95
5.2.3 圖片路徑生成 97
5.2.4 臨時調試日誌文件生成 98
5.2.5 壓縮文件生成 100
5.2.6 模板數據生成 102
5.2.7 複雜URL生成 103
5.2.8 圖片驗證碼字符串生成 104
5.3 數據存儲與打印未知數據的結構 106
5.3.1 將商品審核數據保存到數據庫 106
5.3.2 打印未知數據的結構 108
5.4 獲取各種統計時間範圍應用 108
5.4.1 統計這個月的統計時間範圍 108
5.4.2 統計上個月的統計時間範圍 109
5.4.3 統計任何一個月的統計時間範圍 110
5.4.4 統計昨天的統計時間範圍 110
5.4.5 統計上個月到現在的統計時間範圍 111
5.4.6 統計任意兩個月的統計時間範圍 111
5.5 數據解析與分隔應用 112
5.5.1 解析URL 113
5.5.2 解析文件路徑 114
5.5.3 解析URL查詢參數 115
5.5.4 字符串分隔 116
5.5.5 過濾HTML標簽 118
5.6 網絡請求 120
5.6.1 請求天氣預報接口 120
5.6.2 請求全國加油站接口 123
5.7 習題 126
第6章 面向對象與數據庫編程 127
6.1 面向對象知識 127
6.1.1 屬性與方法 128
6.1.2 類 131
6.1.3 構造方法和對象 133
6.1.4 常量、靜態屬性和靜態方法 136
6.1.5 抽象類與繼承 140
6.1.6 namespace與use 143
6.2 數據庫編程之MySQLi 147
6.2.1 插入數據 147
6.2.2 查詢數據 149
6.2.3 修改與刪除數據 153
6.3 數據庫編程之PDO 153
6.3.1 插入數據 154
6.3.2 查詢數據 154
6.3.3 修改與刪除數據 156
6.4 習題 157
第7章 PHP與前端合作的3種方式 158
7.1 被遺忘的混合模式 158
7.2 Laravel框架知識 159
7.2.1 框架安裝 159
7.2.2 環境配置 163
7.2.3 不斷縮小的MVC模式與Smarty的辛酸史 165
7.3 第 一個MVC例子 165
7.3.1 連接bill數據庫 165
7.3.2 .env文件的意義 168
7.3.3 設置請求URL 169
7.3.4 控制器代碼 170
7.3.5 視圖代碼 173
7.3.6 分頁瀏覽數據 179
7.4 大勢所趨的分離模式 182
7.4.1 XML基礎知識 182
7.4.2 用PHP生成和解析XML 184
7.4.3 用JavaScript生成和解析XML 189
7.4.4 JSON基礎知識 196
7.4.5 用PHP生成和解析JSON 199
7.4.6 用JavaScript生成和解析JSON 201
7.4.7 第 一個分離模式例子 205
7.5 習題 207
第8章 實現記帳網站應用 208
8.1 開發環境約定 208
8.2 理不清的Session與Cookie 215
8.2.1 一個簡單而內涵豐富的例子 215
8.2.2 兩個請求之間怎麼傳遞數據 216
8.2.3 記帳網站引入的新問題 218
8.2.4 Cookie相關知識 219
8.2.5 Session相關知識 222
8.3 實現註冊 227
8.3.1 顯示註冊頁面 227
8.3.2 處理用戶註冊 230
8.4 實現登錄 233
8.4.1 顯示登錄頁面 233
8.4.2 處理用戶登錄 234
8.5 Laravel中間件 236
8.6 實現其他功能 240
8.7 習題 253
第9章 APP接口開發 254
9.1 開發環境搭建 254
9.1.1 讓手機可以訪問本地開發環境 255
9.1.2 不用寫任何代碼來測試APP接口 258
9.1.3 Redis緩存安裝 259
9.1.4 Redis桌面端管理軟件安裝 261
9.1.5 在Laravel中使用Redis 263
9.2 登錄接口實現 264
9.2.1 APP登錄狀態保存 264
9.2.2 開發環境約定 265
9.2.3 登錄接口實現 266
9.3 接口文檔編寫 268
9.3.1 安裝Java運行環境JRE 269
9.3.2 安裝RAP 270
9.3.3 使用RAP 272
9.4 習題 273
第 10章 微信開發那些事 275
10.1 開發環境約定 275
10.2 安裝Guzzle 281
10.3 PC記帳網站應用的微信掃碼登錄 281
10.3.1 登錄頁面顯示微信二維碼 282
10.3.2 申請AppID 283
10.3.3 PC瀏覽器、微信客戶端、微信端服務程序之間的關係 284
10.3.4 微信端服務程序與服務端程序交流 285
10.4 APP微信快捷登錄 288
10.5 微信APP支付 291
10.5.1 獲取預支付交易單號等信息 292
10.5.2 接收支付成功通知 298
10.6 習題 301
第 11章 圖片上傳那些事 302
11.1 form標簽的兩個重要屬性 302
11.1.1 第 一次實踐 302
11.1.2 第二次實踐 304
11.2 $_FILES誕生記及它的數據結構 306
11.2.1 第三次實踐 306
11.2.2 獲取原生的POST請求內容 308
11.2.3 $_FILES的外貌 311
11.3 一個完整的圖片上傳例子 313
11.4 習題 315
第 12章 LNMP開發環境搭建 316
12.1 Linux系統發行版 316
12.2 在Windows下面安裝Ubuntu 317
12.2.1 虛擬機軟件VirtualBox的安裝 317
12.2.2 Ubuntu系統的安裝 319
12.3 一些常用的Shell命令 323
12.3.1 純命令行模式和遠程登錄服務器 323
12.3.2 關於目錄的命令 328
12.3.3 Vim編輯器命令 329
12.3.4 用戶與權限相關命令 330
12.3.5 其他命令 331
12.4 安裝Nginx 332
12.5 安裝PHP 334
12.6 Nginx與PHP的合作 336
12.7 安裝PHP擴展 338
12.8 安裝MySQL 8.0 339
12.9 安裝Redis 341
12.10 習題 342
1.1 URL相關知識 1
1.1.1 陌生而熟悉的URL 2
1.1.2 URL的組成 2
1.1.3 非常優秀的Chrome瀏覽器 3
1.1.4 URL編碼 4
1.2 一個經典的小型PHP網站運行原理 5
1.3 服務端各個角色介紹 6
1.4 4個環境 7
1.5 本地開發環境搭建 8
1.5.1 環境說明 9
1.5.2 安裝Notepad++軟件 9
1.5.3 一個神奇的現象 10
1.5.4 hosts文件的作用 10
1.5.5 安裝XAMPP 11
1.5.6 配置Web服務器 12
1.5.7 安裝PhpStorm軟件 13
1.6 習題 16
第 2章 基礎知識講解 17
2.1 數據類型與變量 18
2.1.1 字符串 18
2.1.2 為什麼需要注釋 19
2.1.3 變量 20
2.1.4 如何取變量名 21
2.1.5 整數 22
2.1.6 浮點數 22
2.1.7 數組 22
2.1.8 訪問數組元素 26
2.2 數據運算 27
2.2.1 基本的算術運算符 27
2.2.2 常用的比較運算符 28
2.2.3 布爾值 29
2.2.4 PHP7新增的比較運算符 29
2.2.5 賦值運算符與字符串連接符 30
2.2.6 邏輯運算符 31
2.2.7 解決你心裡的疑惑 31
2.3 結構化程序設計的四大利器 31
2.3.1 記帳數據的表示 32
2.3.2 選擇結構 33
2.3.3 循環結構 35
2.3.4 順序結構 37
2.3.5 函數 37
2.4 編碼規範 38
2.5 習題 38
第3章 將混亂思維撥亂反正的3種方法 40
3.1 偽代碼 40
3.1.1 第 1個需求的實現 40
3.1.2 文件包含 41
3.1.3 第 2個需求的實現 43
3.1.4 第3個需求的實現 45
3.2 思維導圖工具 48
3.2.1 任務需求 48
3.2.2 第 1階段 48
3.2.3 第 2階段 49
3.2.4 第3階段 49
3.3 自頂向下逐步細化的方法 50
3.4 習題 51
第4章 MySQL數據庫 52
4.1 擴展記帳功能 52
4.2 關系數據庫 53
4.2.1 抽取基礎數據 53
4.2.2 數據身份證 54
4.2.3 抽取關係 54
4.2.4 索引 55
4.3 數據類型及其相關知識 56
4.3.1 數值類型 56
4.3.2 字符串類型 56
4.3.3 其他數據類型 57
4.3.4 單字節和多字節字符串 57
4.3.5 時間戳 58
4.3.6 字符集與排序規則 58
4.3.7 圖片、Word文檔等二進制數據的存儲 59
4.3.8 最終的數據表結構 59
4.4 操作數據庫之命令行方式 61
4.4.1 進入命令提示符窗口 61
4.4.2 設置環境變量 62
4.4.3 數據庫基礎操作 64
4.4.4 創建與刪除數據表操作 66
4.4.5 插入數據操作 69
4.4.6 查詢數據操作 73
4.4.7 修改數據操作 77
4.4.8 刪除數據操作 79
4.4.9 事務相關 80
4.5 操作數據庫之可視化管理工具 81
4.5.1 phpMyAdmin 81
4.5.2 Navicat for MySQL 83
4.6 MariaDB與MySQL的關係 84
4.7 習題 84
第5章 內置函數應用 85
5.1 驗證類應用 85
5.1.1 手機號碼驗證 85
5.1.2 URL驗證 87
5.1.3 郵箱驗證 89
5.1.4 大小寫字母密碼組合驗證 90
5.1.5 大小寫字母+數字密碼組合驗證 91
5.1.6 日期驗證 92
5.2 數據生成應用 93
5.2.1 訂單號生成 94
5.2.2 QQ號生成 95
5.2.3 圖片路徑生成 97
5.2.4 臨時調試日誌文件生成 98
5.2.5 壓縮文件生成 100
5.2.6 模板數據生成 102
5.2.7 複雜URL生成 103
5.2.8 圖片驗證碼字符串生成 104
5.3 數據存儲與打印未知數據的結構 106
5.3.1 將商品審核數據保存到數據庫 106
5.3.2 打印未知數據的結構 108
5.4 獲取各種統計時間範圍應用 108
5.4.1 統計這個月的統計時間範圍 108
5.4.2 統計上個月的統計時間範圍 109
5.4.3 統計任何一個月的統計時間範圍 110
5.4.4 統計昨天的統計時間範圍 110
5.4.5 統計上個月到現在的統計時間範圍 111
5.4.6 統計任意兩個月的統計時間範圍 111
5.5 數據解析與分隔應用 112
5.5.1 解析URL 113
5.5.2 解析文件路徑 114
5.5.3 解析URL查詢參數 115
5.5.4 字符串分隔 116
5.5.5 過濾HTML標簽 118
5.6 網絡請求 120
5.6.1 請求天氣預報接口 120
5.6.2 請求全國加油站接口 123
5.7 習題 126
第6章 面向對象與數據庫編程 127
6.1 面向對象知識 127
6.1.1 屬性與方法 128
6.1.2 類 131
6.1.3 構造方法和對象 133
6.1.4 常量、靜態屬性和靜態方法 136
6.1.5 抽象類與繼承 140
6.1.6 namespace與use 143
6.2 數據庫編程之MySQLi 147
6.2.1 插入數據 147
6.2.2 查詢數據 149
6.2.3 修改與刪除數據 153
6.3 數據庫編程之PDO 153
6.3.1 插入數據 154
6.3.2 查詢數據 154
6.3.3 修改與刪除數據 156
6.4 習題 157
第7章 PHP與前端合作的3種方式 158
7.1 被遺忘的混合模式 158
7.2 Laravel框架知識 159
7.2.1 框架安裝 159
7.2.2 環境配置 163
7.2.3 不斷縮小的MVC模式與Smarty的辛酸史 165
7.3 第 一個MVC例子 165
7.3.1 連接bill數據庫 165
7.3.2 .env文件的意義 168
7.3.3 設置請求URL 169
7.3.4 控制器代碼 170
7.3.5 視圖代碼 173
7.3.6 分頁瀏覽數據 179
7.4 大勢所趨的分離模式 182
7.4.1 XML基礎知識 182
7.4.2 用PHP生成和解析XML 184
7.4.3 用JavaScript生成和解析XML 189
7.4.4 JSON基礎知識 196
7.4.5 用PHP生成和解析JSON 199
7.4.6 用JavaScript生成和解析JSON 201
7.4.7 第 一個分離模式例子 205
7.5 習題 207
第8章 實現記帳網站應用 208
8.1 開發環境約定 208
8.2 理不清的Session與Cookie 215
8.2.1 一個簡單而內涵豐富的例子 215
8.2.2 兩個請求之間怎麼傳遞數據 216
8.2.3 記帳網站引入的新問題 218
8.2.4 Cookie相關知識 219
8.2.5 Session相關知識 222
8.3 實現註冊 227
8.3.1 顯示註冊頁面 227
8.3.2 處理用戶註冊 230
8.4 實現登錄 233
8.4.1 顯示登錄頁面 233
8.4.2 處理用戶登錄 234
8.5 Laravel中間件 236
8.6 實現其他功能 240
8.7 習題 253
第9章 APP接口開發 254
9.1 開發環境搭建 254
9.1.1 讓手機可以訪問本地開發環境 255
9.1.2 不用寫任何代碼來測試APP接口 258
9.1.3 Redis緩存安裝 259
9.1.4 Redis桌面端管理軟件安裝 261
9.1.5 在Laravel中使用Redis 263
9.2 登錄接口實現 264
9.2.1 APP登錄狀態保存 264
9.2.2 開發環境約定 265
9.2.3 登錄接口實現 266
9.3 接口文檔編寫 268
9.3.1 安裝Java運行環境JRE 269
9.3.2 安裝RAP 270
9.3.3 使用RAP 272
9.4 習題 273
第 10章 微信開發那些事 275
10.1 開發環境約定 275
10.2 安裝Guzzle 281
10.3 PC記帳網站應用的微信掃碼登錄 281
10.3.1 登錄頁面顯示微信二維碼 282
10.3.2 申請AppID 283
10.3.3 PC瀏覽器、微信客戶端、微信端服務程序之間的關係 284
10.3.4 微信端服務程序與服務端程序交流 285
10.4 APP微信快捷登錄 288
10.5 微信APP支付 291
10.5.1 獲取預支付交易單號等信息 292
10.5.2 接收支付成功通知 298
10.6 習題 301
第 11章 圖片上傳那些事 302
11.1 form標簽的兩個重要屬性 302
11.1.1 第 一次實踐 302
11.1.2 第二次實踐 304
11.2 $_FILES誕生記及它的數據結構 306
11.2.1 第三次實踐 306
11.2.2 獲取原生的POST請求內容 308
11.2.3 $_FILES的外貌 311
11.3 一個完整的圖片上傳例子 313
11.4 習題 315
第 12章 LNMP開發環境搭建 316
12.1 Linux系統發行版 316
12.2 在Windows下面安裝Ubuntu 317
12.2.1 虛擬機軟件VirtualBox的安裝 317
12.2.2 Ubuntu系統的安裝 319
12.3 一些常用的Shell命令 323
12.3.1 純命令行模式和遠程登錄服務器 323
12.3.2 關於目錄的命令 328
12.3.3 Vim編輯器命令 329
12.3.4 用戶與權限相關命令 330
12.3.5 其他命令 331
12.4 安裝Nginx 332
12.5 安裝PHP 334
12.6 Nginx與PHP的合作 336
12.7 安裝PHP擴展 338
12.8 安裝MySQL 8.0 339
12.9 安裝Redis 341
12.10 習題 342
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。
















