Laravel入門與實戰(第2版)

Laravel入門與實戰(第2版)

《Laravel入門與實戰(第2版)》是電子工業出版社出版圖書。

基本介紹

  • 書名:Laravel入門與實戰(第2版)
  • 作者:【美】Matt Stauffer
  • 譯者:韋瑋 、有明
  • 出版社:電子工業出版社
  • 出版時間:2021年9月
  • 頁數:512 頁
  • 定價:138 元
  • 開本:16 開
  • ISBN:9787121417573
內容簡介,圖書目錄,作者簡介,

內容簡介

實用的Laravel 技術指南,完全涵蓋Laravel 5.8 版本的內容,對Laravel 框架進行了系統的介紹
這是一本實用的Laravel 技術指南,第2 版完全涵蓋Laravel 5.8 版本的內容。本書對Laravel 框架進行了系統的介紹,包括Laravel 的背景,Laravel開發環境的搭建,路由與控制器,Blade 模板,資料庫和Eloquent,前端組件,收集和處理用戶數據,Artisan 和Tinker,用戶認證和授權,請求、回響和中間件,容器,測試等知識。通過閱讀本書,讀者可以比較全面地學習並掌握Laravel 開發的相關理論知識。另外,書中涵蓋大量實例,有利於讀者在學習理論知識的過程中同步進行實踐。

圖書目錄

第1 章 為什麼使用Laravel............. 1
為什麼要使用框架 ............................ 1
“自己動手做” ............................ 1
一致性和靈活性 ........................ 2
Web 和PHP 框架簡史 ....................... 2
Ruby on Rails ............................ 2
PHP 框架的湧入 ........................ 2
CodeIgniter 的優點與缺點 ........ 3
Laravel 1、Laravel 2 和Laravel 3 ........ 3
Laravel 4 .......... 3
Laravel 5 .......... 4
Laravel 有什麼特別之處 ................... 4
Laravel 的哲學 .......................... 4
Laravel 如何讓開發者感到快樂 ........... 5
Laravel 社區 .............................. 6
Laravel 是如何工作的 ....................... 6
使用Laravel 的原因 .......................... 9
第2 章 搭建Laravel 的開發環境......10
系統要求 ................ 10
Composer ............... 11
本地開發環境 ........ 11
Laravel Valet ............................ 11
Laravel Homestead .................. 12
創建一個新的Laravel 項目 ............ 12
使用Laravel 安裝工具來安裝Laravel .......................... 13
通過Composer 的create-project 特徵來安裝Laravel .............. 13
Lambo :超強的“Laravel New”指令 .......................... 13
Laravel 的目錄結構......................... 14
資料夾 ............ 14
其他檔案 ........ 15
配置 ....................... 16
.env 檔案 ........ 18
啟動和運行 ............ 20
測試 ....................... 20
小結 ....................... 21
第3 章 路由和控制器.................... 22
對MVC、HTTP 動詞和REST 的快速介紹 .......................... 22
什麼是MVC ........................... 22
HTTP 動詞 .............................. 23
什麼是REST ........................... 24
路由定義 ................ 25
路由動詞 ........ 26
路由處理 ........ 27
路由參數 ........ 28
路由名稱 ........ 29
路由組 .................... 31
中間件 ............ 32
路徑前綴 ........ 34
後備路由 ........ 35
子域名路由.............................. 35
命名空間前綴 .......................... 36
名稱前綴 ........ 36
簽名的路由 ............ 37
對路由進行簽名 ...................... 37
修改路由以允許簽名連結 ....... 38
視圖 ....................... 39
使用視圖Composer 在每個視圖中共享變數 ................ 40
控制器 .................... 40
獲取用戶輸入 .......................... 43
將依賴注入控制器 .................. 44
資源控制器.............................. 45
API 資源控制器 ...................... 46
單一動作控制器 ...................... 47
路由模型綁定 ........ 47
隱式路由模型綁定 .................. 48
自定義路由模型綁定 ............... 49
路由快取 ................ 49
表單方法欺騙 ........ 50
Laravel 中的HTTP 動詞 ......... 50
在HTML 表單中進行HTTP 方法欺騙 ......................... 50
CSRF 保護 ............. 51
重定向 .................... 52
其他重定向方法 ...................... 54
中止請求 ................ 57
自定義Response ............................. 57
測試 ....................... 58
小結 ....................... 59
第4 章 Blade 模板...................... 60
輸出數據 ................ 61
控制結構 ................ 61
條件語句 ........ 62
循環語句 ........ 62
模板繼承 ................ 64
用@section/@show 和@yield 定義部分信息 ............... 65
包含視圖部分 .......................... 67
使用stack ....... 69
使用component 和slot ............ 70
視圖composer 和服務注入 ............. 72
用視圖composer 將數據綁定到視圖 ............................ 73
Blade 服務注入 ....................... 76
自定義Blade 指令 .......................... 77
自定義Blade 指令中的參數 ............... 78
示例:對多租戶應用程式使用自定義Blade 指令 ........ 78
更簡單的if 語句的自定義指令 .......... 79
測試 ....................... 80
小結 ....................... 81
第5 章 資料庫和Eloquent............ 82
配置 ....................... 82
資料庫連線.............................. 82
其他資料庫配置選項 ............... 84
定義遷移 ........ 84
運行遷移 ........ 92
填充 ....................... 93
創建填充器.............................. 94
模型工廠 ........ 95
查詢構造器 ............ 99
DB 外觀的基本使用 .............. 100
原始SQL 語句 ...................... 101
查詢構造器鏈 ........................ 102
事務 ...............111
Eloquent 入門 ....... 112
新建和定義Eloquent 模型 ............... 113
通過Eloquent 獲取數據 ........ 114
Eloquent 的插入和更新 ......... 116
Eloquent 中的刪除操作 ......... 120
作用域 .......... 122
自定義與訪問器、修改器和屬性轉換器的欄位互動 ............. 125
Eloquent 集合 ........................ 129
Eloquent 序列化 .................... 131
Eloquent 關係 ........................ 133
通過子類記錄更新父類時間戳 ......... 146
Eloquent 事件 ....... 148
測試 ..................... 149
小結 ..................... 151
第6 章 前端組件......................... 152
Laravel Mix .......... 152
Mix 資料夾結構 .................... 154
運行Mix ...... 154
Mix 提供了什麼 .................... 155
前端預設和認證腳手架................. 161
前端預設 ...... 161
認證腳手架............................ 162
分頁 ..................... 162
分頁資料庫結果 .................... 163
手動創建分頁 ........................ 164
訊息包 .................. 165
命名錯誤包............................ 166
字元串助手、多元化和本地化 ................ 167
字元串助手和多元化 ............. 167
本地化 .......... 168
測試 ..................... 171
測試訊息包和錯誤包 ............. 171
翻譯和本地化 ........................ 172
小結 ..................... 172
第7 章 收集和處理用戶數據........... 173
注入請求對象 ...... 173
數組輸入 ...... 176
路由數據 .............. 178
通過Request 實現 ................. 178
通過路由參數實現 ................ 178
上傳的檔案 .......... 178
驗證 ..................... 181
手動驗證 ...... 183
自定義規則對象 .................... 184
顯示驗證錯誤信息 ................ 185
表單請求 .............. 185
創建表單請求 ........................ 186
使用表單請求 ........................ 187
Eloquent 模型批量賦值 ................. 187
測試 ..................... 189
小結 ..................... 190
第8 章 Artisan 和Tinker............ 191
Artisan 入門 ......... 191
Artisan 的基本命令 ....................... 192
選項 .............. 193
組合命令 ...... 193
編寫自定義的Artisan 命令 ........... 196
示例命令 ...... 198
參數和選項............................ 199
使用Input 輸入 ..................... 200
提示 .............. 202
輸出 .............. 203
編寫基於閉包的命令 ............. 205
在普通代碼中調用Artisan 命令 .............. 205
Tinker ................... 206
Laravel Dump 服務 ....................... 207
測試 ..................... 208
小結 ..................... 209
第9 章 用戶認證和授權................ 210
用戶模型和遷移 ............................ 210
Auth 控制器 ......... 214
RegisterController ................. 215
LoginController ..................... 216
ResetPasswordController ....... 217
ForgotPasswordController ................ 217
VerificationController ............ 218
認證腳手架 .......... 219
“記住我” .............. 220
手動認證用戶 ...... 221
手動登出一個用戶 ........................ 221
使其他設備上的會話無效 ................ 222
認證中間件 .......... 222
電子郵件驗證 ...... 223
Blade 身份驗證指令 ...................... 224
保護 ..................... 224
修改默認保護 ........................ 225
在不改變默認值的情況下使用其他保護 ..................... 225
添加新的保護 ........................ 226
請求保護閉包 ........................ 226
創建自定義用戶提供者 ......... 226
為非關係資料庫自定義用戶提供者 ............................ 227
認證事件 .............. 228
授權(ACL)和角色 .................... 228
定義授權規則 ........................ 229
Gate 外觀(和注入Gate) ...... 230
Resource Gate ........................ 230
Authorize 中間件 ................... 231
控制器授權............................ 231
檢查用戶實例 ........................ 233
Blade 檢查 ............................. 234
攔截檢查 ...... 234
政策 .............. 235
測試 ..................... 238
小結 ..................... 240
第10 章 請求、回響和中間件......... 241
Laravel 的請求生命周期 ............... 241
引導套用 ...... 242
服務提供者............................ 242
Request 對象 ........ 244
在Laravel 中獲得Request 對象 ....... 245
獲得Request 中的基本信息 ............. 246
Response 對象 ...... 250
在控制器中創建和使用Response 對象 ....................... 250
特殊的回響類型 .................... 251
Laravel 和中間件 .......................... 257
中間件介紹............................ 257
創建自定義中間件 ................ 258
綁定中間件............................ 260
將參數傳遞到中間件 ............. 262
信任代理 .............. 263
測試 ..................... 264
小結 ..................... 265
第11 章 容器............................ 267
依賴注入簡介 ...... 267
Laravel 中的依賴注入 ................... 269
容器是如何裝配的 ........................ 270
將類綁定到容器 ............................ 271
綁定到閉包............................ 271
綁定單例、別名和實例 ......... 272
綁定接口的具體實現 ............. 273
綁定上下文............................ 274
Laravel 模組中的構造器注入 ........ 275
方法注入 .............. 275
外觀與容器 .......... 277
外觀如何運轉 ........................ 277
實時外觀 ...... 279
服務提供者 .......... 279
測試 ..................... 280
小結 ..................... 281
第12 章 測試............................ 282
測試基礎 .............. 283
測試的命名 .......... 287
測試環境 .............. 288
用於測試的特徵 ............................ 288
RefreshDatabase .................... 289
WithoutMiddleware ............... 289
DatabaseMigrations ............... 289
DatabaseTransactions ............. 289
簡單的單元測試 ............................ 290
套用測試:它是如何工作的 ......... 291
測試用例 ...... 291
HTTP 測試 ........... 292
針對$response 進行斷言 ....... 293
認證回響 ...... 296
HTTP 測試中的一些其他定製化內容 ......................... 297
處理套用測試中的異常 ......... 297
資料庫測試 .......... 298
在測試中使用模型工廠 ......... 299
測試中的數據填充 ................ 299
測試其他Laravel 系統 .................. 299
事件的偽造............................ 299
匯流排和佇列的偽造 ................ 300
郵件的偽造............................ 302
通知的偽造............................ 303
存儲的偽造............................ 304
模擬 ..................... 305
模擬簡介 ...... 305
Mockery 簡介 ........................ 305
偽造其他外觀 ........................ 308
測試Artisan 命令 .......................... 309
針對Artisan 進行斷言的語法 .......... 310
瀏覽器測試 .......... 311
選擇測試工具 ........................ 311
通過Dusk 進行測試 .............. 312
小結 ..................... 323
第13 章 編寫API...................... 324
類REST 的JSON API 基礎 .......... 324
組織控制器和返回JSON .............. 326
讀取和傳送頭 ...... 329
在Laravel 中傳送回響頭 ...... 330
在Laravel 中讀取請求頭 ...... 330
Eloquent 分頁 ....... 331
排序和過濾 .......... 332
對API 結果進行排序 ............ 333
對API 結果進行過濾 ............ 334
轉換結果 .............. 335
編寫轉換器............................ 336
通過自定義轉換器處理嵌套和關係 ............................ 337
API 資源 .............. 339
創建資源類............................ 339
資源集合 ...... 341
嵌套關係 ...... 342
在API 資源中使用分頁 ........ 343
有條件地輸出屬性 ................ 344
對API 資源的深度定製 ........ 344
API 認證與Laravel Passport ......... 345
OAuth 2.0 簡介 ...................... 345
安裝Passport ......................... 345
Passport 的API ..................... 347
Passport 可用的授權方式 ...... 347
使用Passport API 和Vue 組件管理客戶端和token ............... 356
Passport 的作用範圍 .............. 358
部署Passport ......................... 360
API token 認證機制 ...................... 360
定製404 回響 ...... 361
觸發後備路由 ........................ 361
測試 ..................... 362
測試Passport ......................... 363
小結 ..................... 363
第14 章 存儲和讀取....................364
本地和雲端檔案管理器................. 364
檔案訪問配置 ........................ 364
使用Storage 外觀 .................. 365
添加其他Flysystem 提供者 ............. 367
基礎的檔案上傳和操作................. 368
簡單檔案下載 ...... 369
Session ................. 369
訪問Session .......................... 370
在Session 實例中可用的方法 .......... 370
臨時Session 存儲 .................. 372
快取 ..................... 373
訪問快取 ...... 373
快取實例中的可用方法 ......... 374
cookie ................... 375
Laravel 中的cookie ............... 375
訪問cookie 的工具 ............... 376
日誌 ..................... 379
何時、因何使用日誌 ............. 379
記錄日誌 ...... 380
日誌通道 ...... 380
全文搜尋與Laravel Scout ............. 383
安裝Scout ............................. 383
使模型可被索引 .................... 384
在索引中搜尋 ........................ 384
佇列和Scout ......................... 385
實現無索引操作 .................... 385
根據條件索引模型 ................ 385
在代碼里觸發索引 ................ 385
通過命令觸發索引 ................ 386
測試 ..................... 386
檔案存儲 ...... 386
Session ......... 388
快取 .............. 389
cookie ........... 389
日誌 .............. 390
Scout ............ 391
小結 ..................... 391
第15 章 郵件和通知....................392
郵件 ..................... 392
“經典”的郵件 ...................... 393
“mailable”的基礎使用方法 ............ 393
郵件模板 ...... 396
附屬檔案和行內圖片 .................... 397
Markdown mailable ............... 399
將mailable 渲染到瀏覽器 ................ 400
佇列 .............. 401
本地開發 ...... 402
通知 ..................... 403
傳送通知 ...... 407
通知佇列 ...... 407
開箱即用的通知類型 ............. 408
測試 ..................... 411
郵件 .............. 411
通知 .............. 412
小結 ..................... 413
第16 章 佇列、任務、事件、廣播和調度器............................... 414
佇列 ..................... 414
為什麼使用佇列 .................... 415
基礎佇列配置 ........................ 415
佇列任務 ...... 415
運行佇列工作者 .................... 419
處理錯誤 ...... 419
控制佇列 ...... 422
其他基於佇列的功能 ............. 422
Laravel Horizon............................. 423
事件 ..................... 423
發起事件 ...... 424
監聽事件 ...... 426
通過WebSocket 廣播事件和Laravel Echo ......................... 429
配置和安裝............................ 430
廣播事件 ...... 430
接收訊息 ...... 433
高級廣播工具 ........................ 435
Laravel Echo(JavaScript 部分)....... 438
調度器 .................. 443
可用的任務類型 .................... 443
支持的調度時間點 ................ 444
定義時區和調度命令 ............. 446
阻塞和重疊............................ 446
處理任務輸出 ........................ 446
任務鉤子 ...... 447
測試 ..................... 447
小結 ..................... 449
第17 章 助手函式和集合...............450
助手函式 .............. 450
數組 .............. 450
字元串 .......... 452
套用路徑 ...... 455
URL .............. 456
雜項 .............. 458
集合 ..................... 461
基礎 .............. 461
一些方法 ...... 463
小結 ..................... 468
第18 章 Laravel 生態.................469
本書中提到過的工具 .................... 469
Valet ............. 469
Homestead ............................. 469
Laravel Installer ..................... 470
Mix ............... 470
Dusk ............. 470
Passport ........ 470
Horizon ......... 470
Echo ............. 471
本書中未提及的工具 .................... 471
Forge ............ 471
Envoyer ........ 471
Cashier ......... 472
Socialite ........ 472
Nova ............. 472
Spark ............ 473
Lumen .......... 473
Envoy ........... 473
Telescope ...... 474
其他資源 .............. 474
辭彙表...........475

作者簡介

Matt Stauffer既是一名開發者,也是一位教師。他是Tighten的合伙人兼技術總監,主辦過Five-Minute Geek Show和Laravel Podcast。
譯者簡介
韋瑋,重慶韜翔網路科技有限公司創始人兼董事,英國阿伯丁大學人工智慧專業研究生(一等榮譽學位),計算機圖書暢銷書作者,業界資深計算機專家講師。具有多年IT技術實戰開發經驗,曾做過程式設計師、技術總監,運營一家專注於中大型軟體開發與IT技術服務的公司。《精通Python網路爬蟲》《Python程式設計基礎實戰教程》《Python基礎實例教程》作者,《Laravel入門與實戰》譯者。
有明,開源項目Lawoole發起者,Hyperf 核心成員,SF認證講師,長期關注新興技術結合微服務化實現,對技術理論體系有所研究。熟知全棧開發、運維相關技術。《Laravel:藝術家成長之路》系列課程講師,掘金小冊《詳解 Laravel 源碼中優秀的設計模式》作者,技術書《沒什麼難的:Docker》作者。

相關詞條

熱門詞條

聯絡我們