目錄
前言 xxiii
第1 章 為什麼使用Laravel 1
為什麼要使用框架 1
“自己動手做” 2
一緻性和靈活性 2
Web 和PHP 框架的簡史 2
Ruby on Rail 2
PHP 框架的湧入 3
CodeIgniter 的優點與缺點 3
Laravel 1、Laravel 2 和Laravel 3 3
Laravel 4 4
Laravel 5 4
Laravel 有什麼特彆之處 4
Laravel 的哲學 4
Laravel 如何讓開發者快樂 5
Laravel 社區 6
它是如何工作的 6
為什麼使用Laravel 9
第2 章 搭建Laravel 的開發環境 11
係統要求 11
Composer 11
本地開發環境 12
Laravel Valet 12
Laravel Homestead 13
創建一個新的Laravel 項目 17
使用Laravel 安裝工具來安裝Laravel 17
通過Composer 的create-project 來安裝Laravel 17
Laravel 的目錄結構 18
文件夾 18
文件 19
配置 19
啓動和運行 20
測試 21
本章小結 21
第3 章 路由和控製器 23
路由定義 23
路由處理 25
路由參數 26
路由名稱 27
路由組 30
中間件 30
路徑前綴 31
子域名路由 32
命名空間前綴 33
名稱前綴 33
視圖 33
使用視圖Composers 在每個視圖中共享變量 35
控製器 35
獲取用戶輸入 38
將依賴注入控製器 39
資源控製器 40
路由模型綁定 42
隱式路由模型綁定 42
自定義路由模型綁定 43
路由緩存 44
錶單方法欺騙(Form Method Spoofing) 44
HTTP 動詞的介紹 44
Laravel 中的HTTP 動詞 45
在HTML 錶單中進行HTTP 方法欺騙 45
CSRF 保護 45
重定嚮 47
redirect()->to() 48
redirect()->route() 48
redirect()->back() 49
其他重定嚮方法 49
redirect()->with() 49
中止請求 51
自定義響應 51
response()->make() 51
response()->json() 和->jsonp() 52
response()->download() 和->file() 52
測試 52
本章小結 53
第4 章 Blade 模闆 55
輸齣數據 56
控製結構 56
條件語句 57
循環語句 57
or 59
模闆繼承 60
用@section/@show 和@yield 定義Section 60
@parent 62
@include 62
@each 63
視圖Composer 和服務注入 63
用視圖Composer 綁定數據到視圖 64
Blade 服務注入 67
自定義Blade 指令 68
自定義Blade 指令中的參數 69
示例:對多租戶應用程序(Multitenant App)使用自定義Blade 指令70
測試 71
本章小結 72
第5 章 前端組件 73
Elixir 73
Elixir 文件夾結構 75
運行Elixir 75
Elixir 提供瞭什麼 76
分頁 82
分頁數據庫結果 82
手動創建分頁 83
消息包 84
錯誤包命名 85
字符串助手、多元化和本地化 86
字符串助手和多元化 86
本地化 87
測試 89
用Elixir 進行測試 89
測試消息包和錯誤包 90
翻譯和本地化 90
本章小結 90
第6 章 收集和處理用戶數據 91
注入請求對象 91
$request->all() 92
$request->except() 和 $request->only() 92
$request->has() 與$request->exists() 93
$request->input() 93
數組輸入 94
JSON 輸入($request->json()) 94
路由數據 96
通過Request 實現 96
通過路由參數實現 96
上傳的文件 96
驗證 99
在控製器中使用ValidatesRequests 的validate() 方法 99
手動驗證 102
顯示驗證錯誤信息 102
錶單請求 103
創建錶單請求 103
使用錶單請求 104
Eloquent 模型質量分配 105
{{ 與 {!! 106
測試 106
本章小結 107
第7 章 Artisan 和Tinker 109
Artisan 入門 109
Artisan 的基本命令 110
選項 110
組閤命令 111
書寫常見的Artisan 命令 113
注冊命令 115
示例命令 116
參數和選項 117
輸入 118
提示 120
輸齣 121
在其他代碼中調用Artisan 命令 122
Tinker 123
測試 124
本章小結 125
第8 章 數據庫和Eloquent 127
配置 127
數據庫連接 127
其他數據庫配置選項 129
遷移 129
定義遷移 129
運行遷移 137
填充 138
創建填充器 138
模型工廠 139
查詢構造器 143
DB Facade 的基本使用 143
原始SQL 語句 144
查詢構造器鏈 145
事務 153
Eloquent 入門 154
新建和定義Eloquent 模型 156
通過Eloquent 獲取數據 157
Eloquent 的插入和更新 159
Eloquent 中的刪除 162
作用域 164
自定義與訪問器、修改器和屬性轉換器的字段交互 167
Eloquent 集閤 171
Eloquent 序列化 173
Eloquent 關係 175
通過子類更新父類時間戳 186
Eloquent 事件 188
測試 189
本章小結 191
第9 章 用戶認證和授權 193
用戶模型和遷移 194
使用auth() 全局助手和認證Facade 197
Auth 控製器 197
RegisterController 197
LoginController 199
ResetPasswordController 200
ForgotPasswordController 200
Auth::routes() 200
認證腳手架(Auth Scaffold) 201
“記住我” 202
手動認證用戶 203
認證中間件 204
保護 204
修改默認保護 205
在不改變默認情況下使用其他保護 205
添加新的保護 205
創建自定義用戶提供器 206
為非關係型數據庫自定義用戶提供器 207
認證事件 207
授權(ACL)和角色 208
定義授權規則 208
Gate facade(和注入Gate) 209
Authorize 中間件 210
控製器授權 210
檢查用戶實例 212
Blade 檢查 213
插入檢查 213
政策 214
測試 216
本章小結 218
第10 章 請求和響應 221
Laravel 請求的生命周期 221
引導應用程序 222
服務提供者 223
Request 對象 224
在Laravel 中獲取請求對象 225
獲取請求的基本信息 225
本書從基礎開始詳細地講解瞭Laravel開發框架。本書對Laravel框架進行瞭係統的介紹,包括Laravel的背景、Laravel開發環境的搭建、路由與控製器、Blade模闆、前端組件、收集和處理用戶數據、Artisan和Tinker、數據庫和Eloquent、容器、Laravel測試等知識。通過閱讀本書,讀者可以比較全麵地學習並掌握Laravel開發的相關理論知識。另外,書中涵蓋大量實例,更有利於讀者在學習過程中不斷實踐。
Matt Stauffer,既是一名開發者,也是一位教師。他是Tighten Co. 和閤夥人兼技術總監,主辦過The Five-Minute Geek Show和Laravel Podcast。博客地址是http://mattstauffer.co/。
韋瑋,重慶韜翔網絡科技有限公司董事長兼CEO,《精通Python網絡爬蟲》作者,CSDN特邀IT專傢,51CTO學院特約專傢講師,《知道日報》特約作者,國傢工信部高級網絡營銷師,蜻蜓FM獨傢簽約主播,國傢專利發明人,多年IT從業經驗,曾齣品發明過多門IT課程並獲得大量學員的支持與喜愛。
這次閱讀體驗讓我受益匪淺,感覺自己仿佛打開瞭一扇新的大門。這本書的邏輯非常清晰,循序漸進,從最基礎的概念講起,逐步深入到更高級的主題。我特彆喜歡書中關於“認證與授權”的章節,它詳細講解瞭 Laravel Sanctum 如何方便地管理 API 認證,以及如何通過 Laravel Gates 和 Policies 來實現精細化的權限控製,這對於構建需要多用戶、多角色的復雜係統至關重要。書中還提到瞭“多語言支持”的實現,讓我能夠更輕鬆地為我的應用添加多國語言版本。還有一個亮點是關於“緩存”的講解,它讓我認識到瞭緩存對於提升應用性能的關鍵作用,並且學會瞭如何在 Laravel 中有效地使用 Redis 等緩存技術。這本書的語言風格也很親切,不像一些技術書籍那樣枯燥乏味,讀起來有種和經驗豐富的開發者交流的感覺。很多時候,我都會在書中找到對某個功能的“為什麼”的解釋,而不是僅僅停留在“怎麼做”的層麵,這讓我對 Laravel 的理解更加透徹。
評分我一直對軟件架構設計非常感興趣,也一直在尋找能夠幫助我構建可擴展、可維護的係統的方法。這本書在講解 Laravel 框架的同時,巧妙地融入瞭許多架構設計的思想。它不僅僅是關於如何使用 Laravel 的功能,更重要的是,它教我如何“思考”如何構建一個好的 Laravel 應用。書中關於“模塊化開發”的講解,讓我明白瞭如何將大型項目拆分成更小的、可管理的模塊,這大大提高瞭團隊協作的效率。而且,它還強調瞭“代碼復用”的重要性,並通過各種設計模式和 Laravel 內置的組件,展示瞭如何有效地實現代碼復用。我尤其贊賞書中對“測試驅動開發(TDD)”的介紹,它讓我認識到編寫單元測試和集成測試對於保證代碼質量和項目穩定性有多麼重要。通過書中提供的測試示例,我能夠快速上手,並開始在自己的項目中引入測試。這本書讓我意識到,構建一個優秀的應用,不僅需要掌握一門框架,更需要具備良好的架構設計能力,而 Laravel 恰恰是實現這種能力的絕佳載體。
評分這本書真是讓我眼前一亮,在接觸 Laravel 之前,我一直覺得 PHP 開發效率不高,各種框架也是參差不齊,用起來總感覺缺瞭點什麼。直到我翻開瞭這本書,纔發現 Laravel 框架的魅力所在。它提供瞭一種非常優雅的方式來組織代碼,遵循 MVC 架構,讓我的項目結構更加清晰,可維護性大大提高。特彆是書裏對 Artisan 命令行工具的介紹,簡直是開發者的福音,各種生成命令、數據庫遷移、代碼的調試都變得輕而易舉。而且,書中還詳細講解瞭 Eloquent ORM,它真的太好用瞭!寫 SQL 語句的繁瑣和易錯在 Eloquent 麵前蕩然無存,用對象的方式操作數據庫,既直觀又安全。我特彆喜歡書中關於“服務容器”的章節,它讓依賴注入變得如此簡單,並且能夠更好地管理和復用代碼,這對於構建大型、復雜的應用來說至關重要。整本書的行文流暢,例子也非常貼閤實際開發場景,很多地方我都能立刻聯想到自己項目中遇到的問題,並且找到瞭解決方案。閱讀過程非常愉快,感覺自己對 PHP 開發的理解又上瞭一個颱階,對未來的項目開發充滿瞭信心。
評分我原本以為對於 Laravel 這種流行的框架,市麵上已經有很多同質化的教程瞭,但這本書的深度和廣度還是超齣瞭我的預期。它不僅僅停留在基本語法的講解,更深入地探討瞭 Laravel 的核心設計理念,比如“約定優於配置”的原則,以及 Laravel 如何通過各種“魔法”來簡化開發者的工作。書中對“中間件”的講解讓我印象深刻,理解瞭它是如何處理 HTTP 請求的,以及如何利用它來實現認證、日誌記錄、CSRF 防護等功能。而且,它還花瞭很大的篇幅來講解 Laravel 的“事件與監聽器”機製,這對於解耦應用的不同部分、實現異步處理非常有幫助。我尤其贊賞書中關於“隊列”的章節,它解決瞭我在高並發場景下,一些耗時任務影響用戶體驗的問題。通過異步處理,用戶可以更快地得到響應,而後颱的任務可以按部就班地完成。書中還提到瞭一些高級的性能優化技巧,這對於我正在負責的項目來說,非常有藉鑒意義。總的來說,這本書不是那種“看完就能上手”的快餐式教程,它更像是一本“指導你深入理解 Laravel”的寶典,能夠幫助開發者構建齣更健壯、更高效的應用程序。
評分作為一個已經有一定 PHP 開發經驗的開發者,我嘗試瞭很多不同的框架,但總覺得它們在某些方麵不夠完善,或者學習麯綫過於陡峭。Laravel 的齣現,確實改變瞭我對 PHP 開發的看法。這本書非常齣色地展現瞭 Laravel 的強大之處,從路由的優雅定義,到視圖的靈活渲染,再到控製器的數據處理,都顯得井井有條。我特彆喜歡書中關於“Blade 模闆引擎”的講解,它比傳統的 PHP 字符串拼接方式更加安全、高效,而且支持模闆繼承和組件化,讓視圖層的開發變得異常輕鬆。書中還詳細介紹瞭 Laravel 的“錶單驗證”機製,這使得用戶輸入的安全性得到瞭很好的保障,省去瞭我不少手動校驗的麻煩。另外,關於“API 開發”的部分,書中給齣瞭非常實用的指導,如何使用 Laravel Passport 實現 OAuth2 認證,如何構建 RESTful API,這些內容對於我構建前後端分離的應用非常有幫助。這本書的排版也很清晰,代碼示例完整且可運行,讓我能夠一邊閱讀一邊實踐,加深理解。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有