內容簡介
《Yii框架深度剖析》分為15章,其內容涵蓋了PHP框架的概念,Yii框架的工作流程,布局的概念及作用,模組的概念及作用,ActiveRecord模型的原理和作用,ActiveRecord模型的查詢方法,小物件的概念及作用,小物件CActiveForm的作用以及調用方法,模型驗證的概念及作用,Yii框架中的AJAX驗證,與用戶登錄相關的內容,Yii框架中基於角色的訪問控制系統的設計與實現,Memcached快取在Yii框架中的使用,日誌在Yii框架中的實現,以及Yii框架中URL管理組件。
圖書目錄
第 1章 初識PHP框架技術 1
1.1 PHP語言發展歷史及其適合的套用領域 1
1.2 什麼是框架 3
1.3 為什麼要用框架開發 4
1.4 自定義框架 4
1.4.1 MVC框架模式的實現 4
1.4.2 入口檔案 11
1.4.3 套用(前端控制器) 16
1.4.4 從自定義框架到Yii框架 21
1.5 小結 22
第 2章 Yii框架基礎 23
2.1 Yii簡介 23
2.1.1 什麼是Yii框架技術 23
2.1.2 優點 25
2.1.3 性能 26
2.1.4 套用案例 27
2.2 下載Yii 29
2.3 創建第 一個Yii項目 32
2.4 輸出“Hello World” 35
2.5 入口檔案 37
2.6 套用(前端控制器) 38
2.7 MVC框架模式 38
2.8 Yii框架中的控制器 39
2.9 Yii框架中的視圖 40
2.10 小結 41
第3章 布局 42
3.1 布局概述 42
3.2 項目實現疊代一:創建並使用布局渲染首頁視圖 43
3.3 CController類的render()方法執行流程 45
3.4 套用級布局 47
3.5 嵌套布局 48
3.6 項目實現疊代二:使用嵌套布局渲染“新聞中心”列表頁 49
3.7 視圖檔案的存儲路徑 52
3.8 小結 54
第4章 模組 55
4.1 模組概述 55
4.2 使用Gii創建模組 56
4.3 模組中的資源檔案 59
4.4 項目實現疊代三:文章管理 61
4.5 小結 63
第5章 ActiveRecord模型 64
5.1 模型的概念 64
5.2 ActiveRecord模型概述 65
5.3 通過CRUD(增查改刪)操作理解CActiveRecord類 66
5.3.1 文章表(ds_article) 66
5.3.2 在配置檔案中初始化資料庫連線 67
5.3.3 創建ActiveRecord模型 67
5.3.4 通過查詢操作理解CActiveRecord類 69
5.3.5 通過插入和更新操作理解CActiveRecord類 72
5.3.6 通過刪除操作理解CActiveRecord類 74
5.4 小結 74
第6章 CActiveRecord模型類的查詢方法 75
6.1 CActiveRecord類的find()方法與重載 75
6.2 查詢方法find()實例 77
6.2.1 實現帶有邏輯運算符和比較運算符的查詢 77
6.2.2 實現範圍比較查詢 77
6.2.3 實現模糊查詢 78
6.3 資料庫查詢條件類CDbCriteria 79
6.3.1 CDbCriteria成員屬性介紹 79
6.3.2 CDbCriteria成員方法介紹 80
6.4 CActiveRecord類的其他查詢方法 84
6.5 關聯查詢 86
6.6 項目實現疊代四:完成首頁中的數據填充 87
6.6.1 實現幻燈片切換 88
6.6.2 實現成功案例 90
6.6.3 實現其他欄目的文章內容查詢 91
6.7 小結 98
第7章 Widget(小物件) 99
7.1 調用小物件的兩種方式 99
7.1.1 使用widget()方法調用小物件CJuiDatePicker 99
7.1.2 使用beginWidget()和endWidget()方法調用小物件CActiveForm 101
7.2 項目實現疊代五:使用CActiveForm小物件替換添加文章視圖頁面中的HTML表單標籤 103
7.3 自定義小物件 106
7.3.1 繼承CWidget 106
7.3.2 自定義小物件的MVC結構 108
7.4 項目實現疊代六:自定義首頁幻燈片小物件 110
7.5 項目實現疊代七:分頁顯示列表頁 112
7.5.1 分頁組件CPagination 112
7.5.2 新聞中心列表頁實現數據填充 114
7.5.3 分頁的超連結列表小物件CLinkPager 116
7.5.4 對小物件的二次開發 118
7.6 小結 120
第8章 ActiveRecord模型驗證 121
8.1 模型中編寫驗證規則 122
8.2 控制器中安全賦值 124
8.3 控制器中觸發驗證 125
8.4 視圖中提取錯誤信息 127
8.5 項目實現疊代八:完成“添加文章”頁面中的模型驗證 128
8.6 小結 131
第9章 AJAX驗證 132
9.1 AJAX簡介 132
9.2 傳統的JavaScript實現AJAX驗證 133
9.2.1 創建AJAX引擎XMLHttpRequest對象 135
9.2.2 創建HTTP請求 136
9.2.3 設定回響HTTP請求狀態變化的方法 137
9.2.4 設定獲取伺服器返回數據的語句 138
9.2.5 傳送HTTP請求 139
9.3 jQuery實現AJAX驗證 139
9.4 項目實現疊代九:完成“添加用戶”頁面中的AJAX驗證 141
9.5 小結 144
第 10章 用戶登錄 145
10.1 表單模型CFormModel 145
10.2 客戶端驗證 147
10.2.1 CActiveForm實現客戶端驗證源碼分析 147
10.2.2 項目實現疊代十:完成登錄頁面的客戶端驗證 150
10.3 模型中的自定義方法作為rules()驗證器 153
10.4 用於驗證用戶名和密碼的身份類CUserIdentity 154
10.5 項目實現疊代十一:完成用戶登錄 157
10.6 保存用戶登錄狀態的CWebUser類 160
10.7 小結 161
第 11章 基於角色的訪問控制 162
11.1 訪問控制技術綜述 162
11.2 RBAC概述 164
11.3 RBAC需求分析及功能概述 164
11.4 許可權管理系統資料庫設計 165
11.5 項目實現疊代十二:許可權管理系統主要模組的實現 166
11.5.1 用戶管理 166
11.5.2 角色管理 168
11.5.3 許可權管理 170
11.5.4 用戶-角色配置管理 175
11.5.5 角色-許可權配置管理 175
11.6 Yii框架中RBAC的設計與實現 177
11.6.1 配置Srbac模組及授權管理組件 177
11.6.2 Srbac使用的資料庫表 180
11.7 編寫AdminController初步了解Srbac授權體系 181
11.7.1 管理授權項 182
11.7.2 分配授權項 186
11.7.3 用戶已經獲授權 188
11.8 測試Srbac驗證授權流程 188
11.9 Srbac添加到實際項目中的套用 193
11.9.1 修改Srbac模組的視圖布局 193
11.9.2 防止非管理員用戶訪問Srbac 195
11.9.3 驗證訪問許可權 196
11.10 小結 197
第 12章 Yii框架中Memcached快取套用 199
12.1 初識Memcached 199
12.2 Memcached在Web中的套用 200
12.2.1 減小資料庫查詢的壓力 201
12.2.2 對海量數據的處理 201
12.3 Memcached的安裝及管理 202
12.3.1 安裝Memcached軟體 203
12.3.2 Memcached伺服器的管理 204
12.4 使用Telnet作為Memcached的客戶端管理 204
12.4.1 Telnet客戶端連線Memcached伺服器 205
12.4.2 連線Memcached伺服器 205
12.4.3 基本的Memcached客戶端命令 206
12.4.4 查看當前Memcached伺服器的運行狀態信息 206
12.4.5 數據管理指令 208
12.5 PHP的Memcached客戶端擴展函式館 210
12.5.1 安裝php_memcache.dll擴展函式館 210
12.5.2 相關擴展方法 213
12.5.3 實例套用 220
12.6 Yii框架CMemCache快取組件 222
12.6.1 配置使用CMemCache快取組件 222
12.6.2 CMemCache類部分構成 224
12.6.3 CMemCache實例 226
12.7 快取依賴 227
12.8 片段快取 230
12.8.1 片段快取的起始和結束 230
12.8.2 小物件COutputCache類部分構成 232
12.8.3 項目實現疊代十三:產品中心欄目實現片段快取 234
12.9 頁面快取 236
12.10 局部無快取 240
12.11 Yii框架其他快取組件介紹 241
12.12 小結 242
第 13章 日誌 243
13.1 Apache伺服器的日誌 243
13.1.1 訪問日誌的格式 244
13.1.2 錯誤日誌的格式 248
13.1.3 日誌的定製 249
13.2 PHP日誌 252
13.2.1 PHP配置檔案“php.ini” 252
13.2.2 通過配置檔案生成日誌 253
13.2.3 通過方法記錄日誌到指定檔案 254
13.2.4 錯誤信息記錄到作業系統的日誌里 254
13.3 Yii框架的日誌記錄 256
13.3.1 在配置檔案中設定日誌保存路徑 256
13.3.2 通過方法記錄日誌信息 259
13.4 小結 261
第 14章 URL重寫 262
14.1 關於URL 262
14.1.1 URL組成 262
14.1.2 良好URL設計原則 263
14.2 初步認識Apache重寫模組 265
14.3 Yii框架的URL管理 268
14.3.1 創建URL 268
14.3.2 解析URL 271
14.3.3 URL模式 273
14.3.4 實現偽靜態 274
14.3.5 帶有正則表達式的URL規則 275
14.3.6 一個規則匹配多個路由 276
14.3.7 規則源碼分析 278
14.4 隱藏入口檔案index.php 287
14.4.1 再次使用Apache重寫模組 287
14.4.2 RewriteCond指令詳解 288
14.4.3 Yii框架創建URL時隱藏入口檔案 294
14.5 小結 296
第 15章 Yii 2.0介紹 297
15.1 命名空間 297
15.1.1 命名空間的基本套用 298
15.1.2 命名空間的子空間和公共空間 299
15.1.3 命名空間中的名稱和術語 300
15.1.4 別名和導入 301
15.2 安裝Yii 2.0 303
15.3 運行套用 305
15.4 輸出“Hello World” 307
15.5 小結 309
附錄 HTTP狀態訊息 310