Laravel入門與實戰(zhàn)(第2版):構(gòu)建主流PHP應(yīng)用開發(fā)框架 版權(quán)信息
- ISBN:9787121417573
- 條形碼:9787121417573 ; 978-7-121-41757-3
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
Laravel入門與實戰(zhàn)(第2版):構(gòu)建主流PHP應(yīng)用開發(fā)框架 本書特色
適讀人群 :本書適合有經(jīng)驗的PHP或C語言開發(fā)人員――特別是對那些沒有時間來篩選網(wǎng)上眾多培訓資源的開發(fā)者。1. 本書是Laravel經(jīng)典作品的重磅升級,內(nèi)容更全面,技術(shù)更前沿。
2. 本書不僅包含Laravel理論知識,還配合大量實踐案例進行講解。
Laravel入門與實戰(zhàn)(第2版):構(gòu)建主流PHP應(yīng)用開發(fā)框架 內(nèi)容簡介
這是一本實用的Laravel 技術(shù)指南,第2 版接近涵蓋Laravel 5.8 版本的內(nèi)容。本書對Laravel 框架進行了系統(tǒng)的介紹,包括Laravel 的背景,Laravel開發(fā)環(huán)境的搭建,路由與控制器,Blade 模板,數(shù)據(jù)庫和Eloquent,前端組件,收集和處理用戶數(shù)據(jù),Artisan 和Tinker,用戶認證和授權(quán),請求、響應(yīng)和中間件,容器,測試等知識。通過閱讀本書,讀者可以比較全面地學習并掌握Laravel 開發(fā)的相關(guān)理論知識。另外,書中涵蓋大量實例,有利于讀者在學習理論知識的過程中同步進行實踐。
Laravel入門與實戰(zhàn)(第2版):構(gòu)建主流PHP應(yīng)用開發(fā)框架 目錄
目錄
第1 章 為什么使用Laravel................................................... 1
為什么要使用框架 ........................................................................................................ 1
“自己動手做” ........................................................................................................ 1
一致性和靈活性 .................................................................................................... 2
Web 和PHP 框架簡史 ................................................................................................... 2
Ruby on Rails ........................................................................................................ 2
PHP 框架的涌入 .................................................................................................... 2
CodeIgniter 的優(yōu)點與缺點 .................................................................................... 3
Laravel 1、Laravel 2 和Laravel 3 ......................................................................... 3
Laravel 4 ............................................................................................................... 3
Laravel 5 ............................................................................................................... 4
Laravel 有什么特別之處 ............................................................................................... 4
Laravel 的哲學 ...................................................................................................... 4
Laravel 如何讓開發(fā)者感到快樂 ............................................................................ 5
Laravel 社區(qū) .......................................................................................................... 6
Laravel 是如何工作的 ................................................................................................... 6
使用Laravel 的原因 ...................................................................................................... 9
第2 章 搭建Laravel 的開發(fā)環(huán)境............................................10
系統(tǒng)要求 ..................................................................................................................... 10
Composer .................................................................................................................... 11
本地開發(fā)環(huán)境 ............................................................................................................. 11
Laravel Valet ........................................................................................................ 11
Laravel Homestead .............................................................................................. 12
創(chuàng)建一個新的Laravel 項目 ........................................................................................ 12
使用Laravel 安裝工具來安裝Laravel ................................................................ 13
通過Composer 的create-project 特征來安裝Laravel ......................................... 13
Lambo :超強的“Laravel New”指令 ................................................................ 13
Laravel 的目錄結(jié)構(gòu)..................................................................................................... 14
文件夾 ................................................................................................................. 14
其他文件 ............................................................................................................. 15
配置 ............................................................................................................................ 16
.env 文件 ............................................................................................................. 18
啟動和運行 ................................................................................................................. 20
測試 ............................................................................................................................ 20
小結(jié) ............................................................................................................................ 21
第3 章 路由和控制器.......................................................... 22
對MVC、HTTP 動詞和REST 的快速介紹 ................................................................ 22
什么是MVC ....................................................................................................... 22
HTTP 動詞 .......................................................................................................... 23
什么是REST ....................................................................................................... 24
路由定義 ..................................................................................................................... 25
路由動詞 ............................................................................................................. 26
路由處理 ............................................................................................................. 27
路由參數(shù) ............................................................................................................. 28
路由名稱 ............................................................................................................. 29
路由組 ......................................................................................................................... 31
中間件 ................................................................................................................. 32
路徑前綴 ............................................................................................................. 34
后備路由 ............................................................................................................. 35
子域名路由.......................................................................................................... 35
命名空間前綴 ...................................................................................................... 36
名稱前綴 ............................................................................................................. 36
簽名的路由 ................................................................................................................. 37
對路由進行簽名 .................................................................................................. 37
修改路由以允許簽名鏈接 ................................................................................... 38
視圖 ............................................................................................................................ 39
直接通過Route::view() 返回簡單路由 ................................................................ 40
使用視圖Composer 在每個視圖中共享變量 ...................................................... 40
控制器 ......................................................................................................................... 40
獲取用戶輸入 ...................................................................................................... 43
將依賴注入控制器 .............................................................................................. 44
資源控制器.......................................................................................................... 45
API 資源控制器 .................................................................................................. 46
單一動作控制器 .................................................................................................. 47
路由模型綁定 ............................................................................................................. 47
隱式路由模型綁定 .............................................................................................. 48
自定義路由模型綁定 ........................................................................................... 49
路由緩存 ..................................................................................................................... 49
表單方法欺騙 ............................................................................................................. 50
Laravel 中的HTTP 動詞 ..................................................................................... 50
在HTML 表單中進行HTTP 方法欺騙 ............................................................... 50
CSRF 保護 .................................................................................................................. 51
重定向 ......................................................................................................................... 52
redirect()->to() ..................................................................................................... 53
redirect()->route() ................................................................................................ 54
redirect()->back() ................................................................................................ 54
其他重定向方法 .................................................................................................. 54
redirect()->with() ................................................................................................. 55
中止請求 ..................................................................................................................... 57
自定義Response ......................................................................................................... 57
response()->make() .............................................................................................. 57
response()->json() 和->jsonp() ............................................................................ 57
response()->download()、->streamDownload() 和->file() .................................. 58
測試 ............................................................................................................................ 58
小結(jié) ............................................................................................................................ 59
第4 章 Blade 模板............................................................ 60
輸出數(shù)據(jù) ..................................................................................................................... 61
控制結(jié)構(gòu) ..................................................................................................................... 61
條件語句 ............................................................................................................. 62
循環(huán)語句 ............................................................................................................. 62
模板繼承 ..................................................................................................................... 64
用@section/@show 和@yield 定義部分信息 ..................................................... 65
包含視圖部分 ...................................................................................................... 67
使用stack ............................................................................................................ 69
使用component 和slot ........................................................................................ 70
視圖Composer 和服務(wù)注入 ........................................................................................ 72
用視圖Composer 將數(shù)據(jù)綁定到視圖 .................................................................. 73
Blade 服務(wù)注入 ................................................................................................... 76
自定義Blade 指令 ...................................................................................................... 77
自定義Blade 指令中的參數(shù) ................................................................................ 78
示例:對多租戶應(yīng)用程序使用自定義Blade 指令 .............................................. 78
更簡單的if 語句的自定義指令 ........................................................................... 79
測試 ............................................................................................................................ 80
小結(jié) ............................................................................................................................ 81
第5 章 數(shù)據(jù)庫和Eloquent.................................................. 82
配置 ............................................................................................................................ 82
數(shù)據(jù)庫連接.......................................................................................................... 82
其他數(shù)據(jù)庫配置選項 ........................................................................................... 84
定義遷移 ............................................................................................................. 84
運行遷移 ............................................................................................................. 92
填充 ............................................................................................................................ 93
創(chuàng)建填充器.......................................................................................................... 94
模型工廠 ............................................................................................................. 95
查詢構(gòu)造器 ................................................................................................................. 99
DB 外觀的基本使用 .......................................................................................... 100
原始SQL 語句 .................................................................................................. 101
查詢構(gòu)造器鏈 .................................................................................................... 102
事務(wù) ....................................................................................................................111
Eloquent 入門 ............................................................................................................ 112
新建和定義Eloquent 模型 ................................................................................ 113
通過Eloquent 獲取數(shù)據(jù) .................................................................................... 114
Eloquent 的插入和更新 ..................................................................................... 116
Eloquent 中的刪除操作 ..................................................................................... 120
作用域 ............................................................................................................... 122
自定義與訪問器、修改器和屬性轉(zhuǎn)換器的字段交互 ........................................ 125
Eloquent 集合 .................................................................................................... 129
Eloquent 序列化 ................................................................................................ 131
Eloquent 關(guān)系 .................................................................................................... 133
通過子類記錄更新父類時間戳 .......................................................................... 146
Eloquent 事件 ............................................................................................................ 148
測試 .......................................................................................................................... 149
小結(jié) .......................................................................................................................... 151
第6 章 前端組件............................................................... 152
Laravel Mix ............................................................................................................... 152
Mix 文件夾結(jié)構(gòu) ................................................................................................ 154
運行Mix ........................................................................................................... 154
Mix 提供了什么 ................................................................................................ 155
前端預(yù)設(shè)和認證腳手架............................................................................................. 161
前端預(yù)設(shè) ........................................................................................................... 161
認證腳手架........................................................................................................ 162
分頁 .......................................................................................................................... 162
分頁數(shù)據(jù)庫結(jié)果 ................................................................................................ 163
手動創(chuàng)建分頁 .................................................................................................... 164
消息包 ....................................................................................................................... 165
命名錯誤包........................................................................................................ 166
字符串助手、多元化和本地化 ................................................................................. 167
字符串助手和多元化 ......................................................................................... 167
本地化 ............................................................................................................... 168
測試 .......................................................................................................................... 171
測試消息包和錯誤包 ......................................................................................... 171
翻譯和本地化 .................................................................................................... 172
小結(jié) .......................................................................................................................... 172
第7 章 收集和處理用戶數(shù)據(jù)................................................. 173
注入請求對象 ........................................................................................................... 173
$request->all() ................................................................................................... 173
$request->except() 和$request->only() .............................................................. 174
$request->has() .................................................................................................. 175
$request->input() ............................................................................................... 175
$request->method() 和$request->isMethod() .................................................... 176
數(shù)組輸入 ........................................................................................................... 176
JSON 輸入($request->json()) .......................................................................... 176
路由數(shù)據(jù) ................................................................................................................... 178
通過Request 實現(xiàn) ............................................................................................. 178
通過路由參數(shù)實現(xiàn) ............................................................................................ 178
上傳的文件 ............................................................................................................... 178
驗證 .......................................................................................................................... 181
Request 對象的validate() 方法 .......................................................................... 181
手動驗證 ........................................................................................................... 183
自定義規(guī)則對象 ................................................................................................ 184
顯示驗證錯誤信息 ............................................................................................ 185
表單請求 ................................................................................................................... 185
創(chuàng)建表單請求 .................................................................................................... 186
使用表單請求 .................................................................................................... 187
Eloquent 模型批量賦值 ............................................................................................. 187
{{ 與{!! .................................................................................................................... 189
測試 .......................................................................................................................... 189
小結(jié) .......................................................................................................................... 190
第8 章 Artisan 和Tinker.................................................. 191
Artisan 入門 .............................................................................................................. 191
Artisan 的基本命令 ................................................................................................... 192
選項 ................................................................................................................... 193
組合命令 ........................................................................................................... 193
編寫自定義的Artisan 命令 ....................................................................................... 196
示例命令 ........................................................................................................... 198
參數(shù)和選項........................................................................................................ 199
使用Input 輸入 ................................................................................................. 200
提示 ................................................................................................................... 202
輸出 ................................................................................................................... 203
編寫基于閉包的命令 ......................................................................................... 205
在普通代碼中調(diào)用Artisan 命令 ............................................................................... 205
Tinker ........................................................................................................................ 206
Laravel Dump 服務(wù) ................................................................................................... 207
測試 .......................................................................................................................... 208
小結(jié) .......................................................................................................................... 209
第9 章 用戶認證和授權(quán)...................................................... 210
用戶模型和遷移 ........................................................................................................ 210
使用auth() 全局助手和Auth 外觀 ............................................................................ 214
認證控制器 ............................................................................................................... 214
RegisterController ............................................................................................. 215
LoginController ................................................................................................. 216
ResetPasswordController ................................................................................... 217
ForgotPasswordController ................................................................................. 217
VerificationController ........................................................................................ 218
Auth::routes() ............................................................................................................ 218
認證腳手架 ............................................................................................................... 219
“記住我” ................................................................................................................... 220
手動認證用戶 ........................................................................................................... 221
手動登出一個用戶 .................................................................................................... 221
使其他設(shè)備上的會話無效 ................................................................................. 222
認證中間件 ............................................................................................................... 222
電子郵件驗證 ........................................................................................................... 223
Blade 身份驗證指令 .................................................................................................. 224
保護 .......................................................................................................................... 224
修改默認保護 .................................................................................................... 225
在不改變默認值的情況下使用其他保護 ........................................................... 225
添加新的保護 .................................................................................................... 226
請求保護閉包 .................................................................................................... 226
創(chuàng)建自定義用戶提供者 ..................................................................................... 226
為非關(guān)系數(shù)據(jù)庫自定義用戶提供者 .................................................................. 227
認證事件 ................................................................................................................... 228
授權(quán)(ACL)和角色 ................................................................................................ 228
定義授權(quán)規(guī)則 .................................................................................................... 229
Gate 外觀(和注入Gate) .................................................................................. 230
Resource Gate .................................................................................................... 230
Authorize 中間件 ............................................................................................... 231
控制器授權(quán)........................................................................................................ 231
檢查用戶實例 .................................................................................................... 233
Blade 檢查 ......................................................................................................... 234
攔截檢查 ........................................................................................................... 234
政策 ................................................................................................................... 235
測試 .......................................................................................................................... 238
小結(jié) .......................................................................................................................... 240
第10 章 請求、響應(yīng)和中間件............................................... 241
Laravel 的請求生命周期 ........................................................................................... 241
引導(dǎo)應(yīng)用 ........................................................................................................... 242
服務(wù)提供者........................................................................................................ 242
Request 對象 ............................................................................................................. 244
在Laravel 中獲得Request 對象 ........................................................................ 245
獲得Request 中的基本信息 .............................................................................. 246
Response 對象 ........................................................................................................... 250
在控制器中創(chuàng)建和使用Response 對象 ............................................................. 250
特殊的響應(yīng)類型 ................................................................................................ 251
Laravel 和中間件 ...................................................................................................... 257
中間件介紹........................................................................................................ 257
創(chuàng)建自定義中間件 ............................................................................................ 258
綁定中間件........................................................................................................ 260
將參數(shù)傳遞到中間件 ......................................................................................... 262
信任代理 ................................................................................................................... 263
測試 .......................................................................................................................... 264
小結(jié) .......................................................................................................................... 265
第11 章 容器.................................................................. 267
依賴注入簡介 ........................................................................................................... 267
Laravel 中的依賴注入 ............................................................................................... 269
全局助手函數(shù)app() .................................................................................................. 269
容器是如何裝配的 .................................................................................................... 270
將類綁定到容器 ........................................................................................................ 271
綁定到閉包........................................................................................................ 271
綁定單例、別名和實例 ..................................................................................... 272
綁定接口的具體實現(xiàn) ......................................................................................... 273
綁定上下文........................................................................................................ 274
Laravel 模塊中的構(gòu)造器注入 .................................................................................... 275
方法注入 ................................................................................................................... 275
外觀與容器 ............................................................................................................... 277
外觀如何運轉(zhuǎn) .................................................................................................... 277
實時外觀 ........................................................................................................... 279
服務(wù)提供者 ............................................................................................................... 279
測試 .......................................................................................................................... 280
小結(jié) .......................................................................................................................... 281
第12 章 測試.................................................................. 282
測試基礎(chǔ) ................................................................................................................... 283
測試的命名 ............................................................................................................... 287
測試環(huán)境 ................................................................................................................... 288
用于測試的特征 ........................................................................................................ 288
RefreshDatabase ................................................................................................ 289
WithoutMiddleware ........................................................................................... 289
DatabaseMigrations ........................................................................................... 289
DatabaseTransactions ......................................................................................... 289
簡單的單元測試 ........................................................................................................ 290
應(yīng)用測試:它是如何工作的 ..................................................................................... 291
測試用例 ........................................................................................................... 291
HTTP 測試 ................................................................................................................ 292
通過$this->get() 和其他HTTP 方法測試基礎(chǔ)頁面 .......................................... 292
通過$this->getJson() 測試JSON 接口和其他JSON 格式調(diào)用 ......................... 293
針對$response 進行斷言 ................................................................................... 293
認證響應(yīng) ........................................................................................................... 296
HTTP 測試中的一些其他定制化內(nèi)容 ............................................................... 297
處理應(yīng)用測試中的異常 ..................................................................................... 297
數(shù)據(jù)庫測試
展開全部
Laravel入門與實戰(zhàn)(第2版):構(gòu)建主流PHP應(yīng)用開發(fā)框架 作者簡介
Matt Stauffer既是一名開發(fā)者,也是一位教師。他是Tighten的合伙人兼技術(shù)總監(jiān),主辦過Five-Minute Geek Show和Laravel Podcast。他的博客地址是http://mattstauffer.com/。
韋瑋,重慶韜翔網(wǎng)絡(luò)科技有限公司創(chuàng)始人兼董事,英國阿伯丁大學人工智能專業(yè)研究生(一等榮譽學位),計算機圖書暢銷書作者,業(yè)界資深計算機專家講師。具有多年IT技術(shù)實戰(zhàn)開發(fā)經(jīng)驗,曾做過程序員、技術(shù)總監(jiān),目前運營一家專注于中大型軟件開發(fā)與IT技術(shù)服務(wù)的公司。《精通Python網(wǎng)絡(luò)爬蟲》《Python程序設(shè)計基礎(chǔ)實戰(zhàn)教程》《Python基礎(chǔ)實例教程》作者,《Laravel入門與實戰(zhàn)》譯者。 有明,開源項目Lawoole發(fā)起者,Hyperf 核心成員,SF認證講師,長期關(guān)注新興技術(shù)結(jié)合微服務(wù)化實現(xiàn),對技術(shù)理論體系有所研究。熟知全棧開發(fā)、運維相關(guān)技術(shù)。《Laravel:藝術(shù)家成長之路》系列課程講師,掘金小冊《詳解 Laravel 源碼中優(yōu)秀的設(shè)計模式》作者,技術(shù)書《沒什么難的:Docker》作者。