産品特色
內容簡介
本書以Laravel 5.1版本為基礎,從框架技術角度介紹Laravel構建的原理,從源代碼層次介紹Laravel功能的應用。通過本書的學習,讀者能夠瞭解Laravel框架實現的方方麵麵,完成基於該框架的定製化應用程序開發。本書第1章到第4章主要介紹瞭與Laravel框架學習相關的基礎部分,讀者可以深入瞭解該框架的設計思想,學習環境搭建,瞭解PHP語法知識和HTTP協議;第5章到第14章分彆從某個方麵介紹Laravel框架是如何構建和使用的,包括程序的生命周期、服務容器和數據庫等,同時也將其中的一些構建技術剝離開,使讀者可以學習該框架的構建技術和思想,如設計模式的內容;第15章是一個簡單的實例,將前麵的學習內容串聯起來並在實踐中應用,使讀者學會使用該框架定製化地設計應用程序。本書既適閤想瞭解Laravel框架構建技術的讀者,也適閤想深入瞭解Laravel框架的讀者。
作者簡介
陳昊,2008年畢業於中國科學技術大學自動化係,保送研究生保留學籍,工作兩年後迴學校讀碩士研究生,2013年畢業。目前於洛陽某研究所工作,從事網絡安全、數據挖掘等方麵工作。
目錄
第1 章 組件化開發與composer 使用……………………………………………… 1
1.1 組件化開發… ……………………………………………………………………… 1
1.2 composer 使用……………………………………………………………………… 2
1.2.1 composer 安裝 ………………………………………………………………………… 2
1.2.2 組件安裝 ……………………………………………………………………………… 5
1.2.3 自動加載 ……………………………………………………………………………… 6
1.2.4 composer 命令行簡介 ………………………………………………………………… 7
1.3 手動構建Laravel 框架……………………………………………………………… 8
1.3.1 項目初始化 …………………………………………………………………………… 8
1.3.2 添加路由組件 ………………………………………………………………………… 9
1.3.3 添加控製器模塊 …………………………………………………………………… 12
1.3.4 添加模型組件 ……………………………………………………………………… 13
1.3.5 添加視圖組件 ……………………………………………………………………… 17
第2 章 Laravel 框架安裝與調試環境建立… …………………………………… 21
2.1 Windows 開發環境搭建和調試………………………………………………… 21
2.1.1 Laravel 框架安裝 …………………………………………………………………… 21
2.1.2 開發調試環境搭建 ………………………………………………………………… 22
2.2 Linux 開發環境搭建……………………………………………………………… 31
2.2.1 LAMP 環境搭建 …………………………………………………………………… 31
2.2.2 Laravel 安裝 ………………………………………………………………………… 36
第3 章 Laravel 框架中常用的PHP 語法… …………………………………… 39
3.1 組件化開發語法條件… ………………………………………………………… 39
3.1.1 命名空間 …………………………………………………………………………… 39
3.1.2 文件包含 …………………………………………………………………………… 43
3.2 匿名函數… ……………………………………………………………………… 48
3.2.1 匿名函數的使用 …………………………………………………………………… 49
3.2.2 Laravel 框架中的應用 ……………………………………………………………… 49
3.3 PHP 中的特殊語法… …………………………………………………………… 50
3.3.1 魔術方法 …………………………………………………………………………… 50
3.3.2 魔術常量 …………………………………………………………………………… 53
3.4 反射… …………………………………………………………………………… 55
3.5 後期靜態綁定… ………………………………………………………………… 58
3.6 Laravel 中使用的其他新特性…………………………………………………… 60
3.6.1 trait ………………………………………………………………………………… 60
3.6.2 簡化的三元運算符 ………………………………………………………………… 63
第4 章 Laravel 框架中使用的HTTP 協議基礎………………………………… 64
4.1 HTTP 發展與相關網絡技術……………………………………………………… 64
4.1.1 HTTP 發展 ………………………………………………………………………… 64
4.1.2 與HTTP 協議相關的網絡技術 …………………………………………………… 65
4.2 HTTP 協議簡介…………………………………………………………………… 71
4.2.1 HTTP 協議工作流程 ……………………………………………………………… 71
4.2.2 請求報文和響應報文結構簡介 …………………………………………………… 71
第5 章 Laravel 框架初識………………………………………………………… 77
5.1 Laravel 框架應用程序目錄結構………………………………………………… 77
5.1.1 Laravel 框架應用程序根目錄介紹 ………………………………………………… 77
5.1.2 app 目錄介紹 ……………………………………………………………………… 78
5.1.3 vendor 目錄介紹 …………………………………………………………………… 78
5.2 Laravel 框架應用程序的三個重要環節………………………………………… 79
5.2.1 路由 ………………………………………………………………………………… 79
5.2.2 控製器 ……………………………………………………………………………… 82
5.2.3 視圖 ………………………………………………………………………………… 86
第6 章 Laravel 框架中的設計模式… …………………………………………… 92
6.1 服務容器… ……………………………………………………………………… 92
6.1.1 依賴與耦閤 ………………………………………………………………………… 92
6.1.2 工廠模式 …………………………………………………………………………… 94
6.1.3 IoC 模式 …………………………………………………………………………… 95
6.1.4 源碼解析 …………………………………………………………………………… 99
6.2 請求處理管道簡介… …………………………………………………………… 104
6.2.1 裝飾者模式 ………………………………………………………………………… 105
6.2.2 請求處理管道 ……………………………………………………………………… 106
6.2.3 部分源碼 …………………………………………………………………………… 110
第7 章 請求到響應的生命周期… ……………………………………………… 114
7.1 程序啓動準備… ………………………………………………………………… 114
7.1.1 服務容器實例化 …………………………………………………………………… 115
7.1.2 核心類(Kernel 類)實例化 ……………………………………………………… 120
7.2 請求實例化… …………………………………………………………………… 121
7.3 處理請求… ……………………………………………………………………… 124
7.3.1 請求處理準備工作 ………………………………………………………………… 125
7.3.2 中間件 ……………………………………………………………………………… 137
7.3.3 路由處理生成響應 ………………………………………………………………… 140
7.4 響應的發送與程序終止… ……………………………………………………… 146
7.4.1 響應的發送 ………………………………………………………………………… 146
7.4.2 程序終止 …………………………………………………………………………… 148
第8 章 服務容器與服務提供者… ……………………………………………… 150
8.1 服務容器… ……………………………………………………………………… 150
8.1.1 服務容器的産生 …………………………………………………………………… 150
8.1.2 服務綁定 …………………………………………………………………………… 151
8.1.3 服務解析 …………………………………………………………………………… 153
8.2 服務提供者… …………………………………………………………………… 156
8.2.1 創建服務提供者 …………………………………………………………………… 157
8.2.2 注冊服務提供者 …………………………………………………………………… 158
8.2.3 緩載服務提供者 …………………………………………………………………… 158
第9 章 請求與響應的操作… …………………………………………………… 160
9.1 HTTP 請求實例的操作…………………………………………………………… 160
9.1.1 請求實例的獲取 …………………………………………………………………… 160
9.1.2 請求參數的獲取 …………………………………………………………………… 161
9.1.3 請求參數的一次存儲 ……………………………………………………………… 165
9.1.4 獲取一次存儲數據 ………………………………………………………………… 166
9.2 HTTP 響應………………………………………………………………………… 166
9.2.1 生成響應的主體內容 ……………………………………………………………… 167
9.2.2 生成自定義響應的實例 …………………………………………………………… 167
9.2.3 生成重定嚮的響應 ………………………………………………………………… 170
第10 章 數據庫及操作…………………………………………………………… 174
10.1 數據庫遷移與填充……………………………………………………………… 174
10.1.1 數據庫遷移 ………………………………………………………………………… 174
10.1.2 數據庫填充 ………………………………………………………………………… 178
10.2 查詢構造器……………………………………………………………………… 180
10.2.1 PHP 中數據庫的操作 ……………………………………………………………… 181
10.2.2 數據庫連接的封裝 ………………………………………………………………… 185
10.2.3 查詢構造器的實現 ………………………………………………………………… 191
10.2.4 查詢構造器的使用 ………………………………………………………………… 192
10.2.5 查詢構造器的數據庫操作 ………………………………………………………… 196
10 3 Eloquent ORM… ……………………………………………………………… 198
10.3.1 Eloquent ORM 的底層實現 ……………………………………………………… 198
10.3.2 Eloquent ORM 的使用 …………………………………………………………… 205
第11 章 redis 數據庫… ………………………………………………………… 214
11.1 redis 數據庫簡介… …………………………………………………………… 214
11.1.1 安裝 ………………………………………………………………………………… 214
11.1.2 redis 數據結構 …………………………………………………………………… 215
11.2 redis 數據庫的應用… ………………………………………………………… 220
11.2.1 數據存取 …………………………………………………………………………… 220
11.2.2 redis 數據庫編程思想 …………………………………………………………… 234
11.2.3 發布、訂閱消息 …………………………………………………………………… 235
第12 章 會話……………………………………………………………………… 239
12.1 Cookie 技術… ………………………………………………………………… 239
12.2 session 技術… ………………………………………………………………… 241
12.2.1 session 的工作機製 ……………………………………………………………… 241
12.2.2 session 的配置 ……………………………………………………………………… 244
12.3 Laravel 框架中的session 機製… …………………………………………… 245
12.3.1 session 的啓動 …………………………………………………………………… 246
12.3.2 session 的操作 …………………………………………………………………… 252
12.3.3 session 的關閉 …………………………………………………………………… 253
第13 章 消息隊列………………………………………………………………… 256
13.1 同步類型消息隊列……………………………………………………………… 257
13.1.1 消息發送 …………………………………………………………………………… 257
13.1.2 消息處理 …………………………………………………………………………… 265
13.2 數據庫類型消息隊列…………………………………………………………… 267
13.2.1 參數配置 …………………………………………………………………………… 267
13.2.2 數據錶的建立 ……………………………………………………………………… 267
13.2.3 消息的生成、發送與處理 ………………………………………………………… 269
13.2.4 消息存儲 …………………………………………………………………………… 269
13.2.5 消息獲取 …………………………………………………………………………… 270
第14 章 認證與數據驗證………………………………………………………… 273
14.1 認證……………………………………………………………………………… 273
14.1.1 認證模塊的配置 …………………………………………………………………… 273
14.1.2 數據錶的建立 ……………………………………………………………………… 274
14.1.3 添加用戶認證路由 ………………………………………………………………… 275
14.1.4 認證視圖的創建 …………………………………………………………………… 276
14.1.5 用戶權限認證 ……………………………………………………………………… 279
14.2 數據驗證………………………………………………………………………… 285
14.2.1 數據驗證的實現 …………………………………………………………………… 285
14.2.2 數據驗證的其他使用方法 ………………………………………………………… 289
14.2.3 數據驗證後期處理 ………………………………………………………………… 290
14.2.4 數據驗證準則 ……………………………………………………………………… 291
第15 章 思維筆記實例…………………………………………………………… 293
15.1 數據庫設計……………………………………………………………………… 293
15.1.1 數據錶設計 ………………………………………………………………………… 293
15.1.2 模型類設計 ………………………………………………………………………… 296
15.2 路由設計………………………………………………………………………… 301
15.2.1 模塊劃分 …………………………………………………………………………… 301
15.2.2 程序設計 …………………………………………………………………………… 301
15.3 控製器設計與Web 頁麵設計… ……………………………………………… 301
15.3.1 用戶認證模塊 ……………………………………………………………………… 302
15.3.2 用戶管理模塊 ……………………………………………………………………… 307
15.3.3 筆記類彆管理模塊 ………………………………………………………………… 311
15.3.4 筆記管理模塊 ……………………………………………………………………… 317
Laravel框架關鍵技術解析 下載 mobi epub pdf txt 電子書 格式