ThinkPHP 8高效構建Web應用
夏磊
相關主題
商品描述
目錄大綱
目 錄
第1章 PHP概述與開發環境搭建 1
1.1 PHP發展歷史 1
1.2 PHP 8新特性概述 2
1.3 安裝PHP 8.0 3
1.4 安裝IDE 4
1.5 驗證PHP開發環境 6
1.6 安裝ThinkPHP開發環境 7
第2章 PHP 8新特性及其示例 12
2.1 命名參數 12
2.1.1 語法 13
2.1.2 命名參數的優點 13
2.1.3 命名參數的缺點 14
2.1.4 小結 16
2.2 註解 16
2.2.1 模擬“註解” 16
2.2.2 語法 17
2.2.3 高級應用 19
2.2.4 小結 22
2.3 match表達式 22
2.3.1 語法 23
2.3.2 示例 23
2.3.3 小結 25
2.4 nullsafe運算符 25
2.4.1 語法 25
2.4.2 null合並運算符 27
2.4.3 nullsafe運算符和null合並運算符區別 27
2.4.4 小結 28
2.5 JIT編譯器 28
2.5.1 PHP中JIT編譯器的特性 28
2.5.2 PHP中的JIT編譯器 29
2.5.3 使用JIT編譯器 30
2.5.4 小結 32
第3章 MVC模式 33
3.1 MVC模式工作原理 33
3.2 第一個MVC應用示例 34
3.3 購物車MVC應用示例 35
3.4 MVC模式最佳實踐 39
3.5 小結 39
第4章 ThinkPHP 8新特性 41
4.1 Composer工具 41
4.1.1 Composer的優點 41
4.1.2 Composer的安裝 42
4.2 初始化ThinkPHP 8應用 43
4.3 依賴註入 44
4.4 Facade 45
4.5 中間件 46
4.6 配置 49
4.6.1 基於PHP代碼的配置 49
4.6.2 環境變量配置 50
4.6.3 多環境配置變量 51
4.7 小結 53
第5章 路由 54
5.1 路由定義 55
5.1.1 路由規則 55
5.1.2 路由地址 55
5.1.3 HTTP請求方法 58
5.2 路由進階 59
5.2.1 路由生成 59
5.2.2 強制路由 59
5.2.3 路由分組 60
5.2.4 路由中間件 60
5.3 Restful路由 60
5.4 註解路由 63
5.5 URL生成 66
5.6 小結 67
第6章 控制器 69
6.1 控制器定義 69
6.2 請求處理 72
6.2.1 獲取請求對象 72
6.2.2 獲取請求上下文信息 74
6.2.3 獲取請求參數 76
6.2.4 請求緩存 79
6.3 響應處理 79
6.4 小結 81
第7章 數據庫 82
7.1 PHP連接數據庫 82
7.2 ThinkPHP連接數據庫 83
7.2.1 單個數據庫連接 83
7.2.2 多個數據庫連接 84
7.2.3 讀寫分離 85
7.3 查詢構造器 87
7.3.1 查詢數據 88
7.3.2 插入數據 89
7.3.3 更新數據 90
7.3.4 刪除數據 90
7.3.5 查詢表達式 90
7.3.6 常用鏈式操作 91
7.3.7 JSON數據操作 92
7.4 數據庫事務 94
7.5 小結 95
第8章 模型 96
8.1 模型定義 96
8.2 插入數據 98
8.3 更新數據 100
8.4 刪除數據 101
8.5 查詢數據 101
8.6 JSON數據的操作 102
8.7 獲取器 103
8.8 修改器 105
8.9 搜索器 106
8.10 軟刪除 107
8.11 時間戳管理 108
8.12 只讀字段 109
8.13 關聯模型 109
8.13.1 一對一關聯 110
8.13.2 一對多關聯 113
8.13.3 多對多關聯 115
8.14 小結 118
第9章 視圖 119
9.1 視圖賦值與渲染 119
9.2 PHP模板語法 120
9.3 小結 122
第10章 異常管理與日誌系統 123
10.1 異常管理 123
10.1.1 自定義異常處理器 124
10.1.2 拋出和捕獲異常 125
10.2 日誌系統 126
10.2.1 術語解釋 126
10.2.2 日誌寫入 127
10.2.3 日誌配置 127
10.2.4 自定義日誌通道 128
10.3 小結 130
第11章 命令行應用開發 131
11.1 命令行應用的入口 131
11.2 從零構建一個命令行應用 132
11.3 小結 134
第12章 Ubuntu服務器部署 135
12.1 在Ubuntu服務器上部署ThinkPHP應用 135
12.2 小結 137
第13章 數據庫設計 138
13.1 數據庫設計原則 138
13.2 數據庫設計工具 138
13.3 小結 143
第14章 多人博客系統開發 144
14.1 運行示例項目 144
14.2 項目目的 145
14.3 需求分析 146
14.4 功能分析 146
14.5 數據庫設計 146
14.5.1 數據表模型圖 147
14.5.2 數據庫關系說明 147
14.5.3 數據庫字段 148
14.6 模塊設計 149
14.6.1 網站前臺 150
14.6.2 用戶管理端 151
14.7 效果展示 152
14.8 部分代碼示例 155
14.8.1 驗證碼 155
14.8.2 成功和錯誤提示頁面 156
14.8.3 發表文章事務操作 157
14.9 項目總結 158
14.10 項目代碼 158
第15章 圖書管理系統開發 159
15.1 運行示例項目 159
15.2 項目目的 160
15.3 需求分析 161
15.4 功能分析 161
15.5 模塊設計 162
15.6 數據庫設計 162
15.6.1 數據庫模型關系 162
15.6.2 數據庫關系說明 163
15.6.3 數據庫字典 163
15.7 核心業務流程 165
15.8 效果展示 165
15.9 部分代碼示例 168
15.9.1 統一倉儲類實現 168
15.9.2 圖書借閱實現 172
15.10 項目總結 173
15.11 項目代碼 173
第16章 論壇系統開發 174
16.1 運行示例項目 174
16.2 項目目的 175
16.3 需求分析 175
16.4 功能分析 176
16.5 模塊設計 176
16.6 數據庫設計 176
16.6.1 數據庫表關系 177
16.6.2 數據庫表關系說明 177
16.6.3 數據庫字典 178
16.7 效果展示 180
16.8 代碼示例 185
16.8.1 文件上傳 185
16.8.2 可選的LOGO編輯 186
16.8.3 分頁代碼保存GET參數 187
16.8.4 主題詳情 188
16.8.5 倉儲層設計 191
16.8.6 修改密碼 194
16.9 項目總結 195
16.10 項目代碼 195
第17章 微信小程序商城系統開發 196
17.1 運行示例項目 196
17.2 項目目的 197
17.3 需求分析 197
17.4 功能分析 197
17.5 模塊設計 198
17.6 數據庫設計 198
17.6.1 數據庫關系 198
17.6.2 數據庫關系說明 199
17.6.3 數據庫字典 199
17.7 效果展示 201
17.8 代碼示例 205
17.8.1 購買商品 205
17.8.2 JWT使用示例 206
17.8.3 異常處理 208
17.9 項目總結 208
17.10 項目代碼 209
後記 210