-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Laravel入門與實戰:構建主流PHP應用開發框架

( 簡體 字)
作者:韋瑋類別:1. -> 程式設計 -> 網路編程 -> PHP
譯者:
出版社:電子工業出版社Laravel入門與實戰:構建主流PHP應用開發框架 3dWoo書號: 48702
詢問書籍請說出此書號!

缺書
NT售價: 540

出版日:3/1/2018
頁數:440
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121336119
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

譯者序
在Web 開發方面,相信大家對PHP 語言并不會感到陌生。是的,使用PHP 語言實現Web 應用開發確實非常便捷,正因如此,PHP 語言獲得了大量Web 開發者的忠實擁護,譯者也是其中之一。
在開發過程中,如果能使用一款優秀的PHP 框架將會事半功倍。目前使用PHP 語言開發Web 項目通常有三種方案:使用原生PHP 代碼(不基于框架)開發、基于框架開發以及基于框架并對框架進行二次開發。對大部分公司來說,開發效率這項指標是非常重要的,又因為框架實際上相當于項目的“半成品”,所以大部分公司可能更傾向于選擇一款性能優越的PHP 框架,基于框架進行具體項目的開發。
目前,可以選擇的PHP 開發框架有很多,比如Laravel、ThinkPHP、Yii、CakePHP 等,這些框架各有千秋,但如果非要讓譯者在其中選擇出一兩款自己更喜歡的框架,那么應該是Laravel 與ThinkPHP。Laravel 框架性能較好,運行速度較快,適合開發中大型項目,在國際范圍內都比較流行,但由于Laravel 框架是由國外研發的,所以目前可參考文獻與資源在國內都比較匱乏。ThinkPHP 框架是國內研發的,性能同樣也非常好,比較適合開發中小型項目,并且國內的可參考文獻與資源相對較多。這兩款框架都是非常優秀的PHP 開發框架,如果有時間,建議大家對這兩款框架進行深入的研究。
這本書主要對Laravel 框架進行了系統的介紹。包括Laravel 背景、Laravel 開發環境的搭建、路由與控制器、Blade 模板、前端組件、收集和處理用戶數據、Artisan 和Tinker、數據庫和Eloquent、用戶認證和授權、請求和響應、容器、Laravel 測試、API 編寫、存儲與檢索、郵件和通知、任務、隊列、事件、廣播及調度程序、助手和集合等。上面已經提到,Laravel 框架的相關學習資料比較匱乏,因此,衷心希望這本書出版后在一定程度上能夠彌補這方面的空缺。
有幸得到博文視點編輯孫奇俏老師的邀請,并在孫老師的監督下完成了本書的翻譯與審校工作。但由于我公司事務繁忙,精力有限,所以邀請了我的學生黃夢穎與俞渺共同完成了本書的翻譯工作。黃夢穎與俞渺都是非常優秀的高材生,都有過國外留學經歷,黃夢穎同學現已獲得了新加坡國立大學碩士學位,俞渺同學現已獲得墨爾本大學碩士學位。
翻譯過程中,我負責正文第1 ∼ 6 章翻譯以及全書的審校工作,黃夢穎負責正文第7 ∼10 章、第13 和14 章、前言、封底、詞匯表、作者簡介、封面簡介等的翻譯工作,俞渺負責正文第11 和12 章、第15 ∼ 17 章的翻譯工作。在此由衷感謝兩位同學的艱苦付出,若讀者在閱讀過程中發現翻譯文風略有不同,還請理解。
本書關于Laravel 框架相關知識的介紹非常具體,如果你希望系統地學習并掌握Laravel框架,那么本書將非常適合你。當然,由于Laravel 屬于PHP 語言眾多框架中的一種,所以,大家在閱讀本書之前最好先學習一些關于PHP 的基礎知識,這樣會更容易理解本書的內容。
再次感謝孫奇俏老師的邀請,感謝本書編輯楊嘉媛,孫老師與楊編輯在本書的審稿與編加過程中付出了大量的精力與心血。感謝黃夢穎與俞渺對翻譯做出的巨大貢獻。感謝本書原作者Matt Stauffer 在寫作過程中付出的巨大努力。感謝所有一直支持我的朋友們。
感謝所有PHP 的忠實擁護者與Laravel 愛好者,謝謝你們的支持!
韋瑋
2018 年1 月于上海

前言
一個很常見的問題是,應該如何學習Laravel ?盡管已經寫了很多年的PHP 程序,但是我不想閉門造車,我想更好地學習Rails 的強大特性,也想學習其他先進的Web 框架。
Rails 有一個非常活躍的社區,完美結合了默認配置及其靈活性,并且具有Ruby Gems的能力來提高預包裝的常用代碼。
我曾經也很猶豫是否要繼續使用PHP,直到知道了Laravel,我才堅定信心。Laravel具備Rails 所有的特性,但它不僅僅是Rails 的一個副本,更是一個全新的Web 框架。
Laravel 提供了非常完善的文檔、開放的交流社區,還繼承了許多現有的語言和框架。當我在博客和會議中分享Laravel 的學習經驗時,我已經使用Laravel 開發了幾十個應用程序和項目,并且可以在線或者面對面與成千上萬名Laravel 開發者進行交流。我的工具箱中已經有很多種開發工具了,但是當打開命令行終端,輸入laravel new project 時,我還是會感到非常激動。
關于本書
這并不是第一本關于Laravel 的書,也不會是最后一本。我不打算讓它成為一本涵蓋每一行代碼或實現模式的書。我也并不希望它一定要與現在最新版本的Laravel 保持一致。
相反,我編寫本書的主要目的是提供一個高階的概述和具體的例子,幫助開發者更快地學習Laravel。我希望能幫助讀者理解Laravel 背后的基本概念,而不是單純講解文檔。
Laravel 是一個強大且靈活的PHP 框架。它擁有發展迅速的社區、豐富的開發工具,這些特性都讓Laravel 越來越受歡迎。本書旨在幫助已經知道如何開發網站和應用程序的開發者學習如何在Laravel 中進行開發。
Laravel 的官方文檔非常清晰明了,如果讀者對一些特定的內容感興趣,但本書中又沒有進行深入講解,那么建議讀者參考Laravel 的在線文檔進行深入學習。
本書不僅對知識點進行概述,也提供了相應的實例。在學習完本書后,相信讀者便可以使用Laravel 從頭開始實現一個完整的應用程序了。希望本書能激發大家動手操作的興趣。
目標讀者
讀者要具備基本的面向對象編程基礎,了解PHP(或者至少是C 語言的一般語法),以及模型- 視圖- 控制器(MVC)開發模式和模板的基本概念。如果從來沒有開發過網站,那么可能會覺得本書的內容比較難懂。但是只要有一定的編程基礎,就不需要在閱讀本書之前了解Laravel——我們會在本書中從“Hello, world!”開始,覆蓋所有需要了解的內容。
本書結構
本書按照時間順序編寫:如果正在使用Laravel 構建第一個Web 應用程序,那么前面的章節將介紹開始時需要使用的基本組件,后面的章節將更深入地介紹知識點及對應的具體實例。
本書的每一部分都可以單獨閱讀,但是也力圖使章節之間的聯系更加緊密,以便剛接觸框架的讀者能夠從頭到尾順暢地進行閱讀和學習。
每章節的最后都包括“測試”和“本章小結(TL;DR)”,TL;DR 表示“長話短說”。這兩部分將展示如何測試對應章節中講過的方法,并對所涵蓋的內容進行高階概述。
本書基于Laravel 5.3 版本,但是因為Laravel 5.1 是最新的LTS 版本,所以Laravel 5.2或Laravel 5.3 中的新功能將被標記出來。
內容簡介:

本書從基礎開始詳細地講解了Laravel開發框架。本書對Laravel框架進行了系統的介紹,包括Laravel的背景、Laravel開發環境的搭建、路由與控制器、Blade模板、前端組件、收集和處理用戶數據、Artisan和Tinker、數據庫和Eloquent、容器、Laravel測試等知識。通過閱讀本書,讀者可以比較全面地學習并掌握Laravel開發的相關理論知識。另外,書中涵蓋大量實例,更有利于讀者在學習過程中不斷實踐。

目錄:

第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
持久性 ............. 228
Response 對象 ............ 228
在容器中使用和創建Response 類 ........ 229
特殊的響應類型 .......... 230
Laravel 和中間件 ........... 233
中間件入門 ........... 233
創建自定義中間件 .......... 234
綁定中間件 ........... 236
向中間件傳參 ............ 239
測試 ............. 240
本章小結 ............ 241
第11 章 容器 ..........243
依賴注入簡介 ............ 243
依賴注入和Laravel ............ 245
app() 全局助手 ........... 245
容器如何連接 ............ 246
將類綁定到容器 ........... 247
綁定到閉包 ........... 247
綁定單例模式、別名和實例 ......... 248
將具體實例綁定到接口 ......... 249
語境綁定 ............. 250
構造器注入 ............ 250
方法注入 ............ 251
facade 與容器 ............. 252
facade 如何工作 .......... 252
服務提供者 ............ 254
測試 ............. 254
本章小結 ............ 255
第12 章 測試 ..........257
測試基礎 ............ 258
命名測試 ............ 260
測試環境 ............ 261
測試特性 ............ 262
WithoutMiddleware ........... 262
數據庫遷移 ........... 262
數據庫事務 ........... 263
應用程序測試 ............ 263
測試用例 ............. 263
“訪問”路徑 ............ 264
自定義應用測試斷言 ........... 266
JSON 和Non-visit() 應用測試斷言 ....... 267
點擊和表單 ........... 271
任務和事件 ........... 273
認證和會話 ........... 273
Artisan 和Seed........... 274
mock(模擬) ............. 275
Mockery ............ 275
模擬facade ............ 278
本章小結 ............ 279
第13 章 編寫API ........281
類REST JSON API 基礎 .......... 281
控制器組織和JSON 返回 .......... 282
讀取和發送頭 ............ 286
在Laravel 中發送響應頭 .......... 287
在Laravel 中讀取請求頭 .......... 287
Eloquent 分頁 ............. 287
排序和篩選 ............ 289
對API 結果排序 .......... 289
過濾API 結果 ........... 291
數據轉換 ............ 292
編寫自己的轉換器 .......... 292
嵌套和關系 ............ 293
使用Laravel Passport 的API 認證 ......... 295
OAuth2.0 簡介 ........... 295
安裝Passport ........... 296
Passport 的API ........... 297
Passport 可用的授權類型 .......... 298
使用Passport API 和Vue 組件管理客戶端和令牌 ...... 305
Passport 作用域 ........... 307
Laravel 5.2 以上版本的API 令牌認證 ....... 309
測試 ............. 310
本章小結 ............ 311
第14 章 存儲和檢索 ........313
本地和云端文件管理器 .......... 313
配置文件訪問 ............ 313
使用存儲facade .......... 314
添加額外的Flysystem 提供商 ......... 316
基本的文件上傳和操作 .......... 317
會話 ............. 318
訪問會話 ............. 318
會話實例的可用方法 ........... 319
閃存會話存儲 ............ 321
高速緩存器cache ........... 321
訪問高速緩存 ............ 322
Cache 實例中可用的方法 .......... 322
cookie ............. 324
Laravel 中的cookie ........... 324
訪問cookie 工具 ........... 324
基于Laravel Scout 全文搜索 ......... 327
安裝Scout ........... 327
標記索引模型 ............ 327
索引檢索 ............. 328
隊列和Scout ........... 328
執行無索引操作 .......... 328
通過代碼手動觸發索引 ......... 329
利用CLI 手動觸發索引 .......... 329
測試 ............. 329
文件存儲 ............. 329
會話 ............. 331
高速緩存 ............. 332
cookie ............ 332
本章小結 ............ 334
第15 章 郵件和通知 ........335
郵件 ............. 335
“classic”郵件 ........... 336
基本“mailable”郵件......... 336
郵件模版 ............. 339
build() 中可用的方法 .......... 339
附件和內聯圖片 .......... 340
隊列 ............. 341
本地開發 ............. 342
通知 ............. 344
為通知對象定義via() 方法 ......... 346
發送通知 ............. 347
排隊通知 ............. 348
開箱即用的通知類型 ........... 348
測試 ............. 351
郵件 ............. 351
通知 ............. 352
本章小結 ............ 352
第16 章 隊列,任務,事件,廣播及調度程序 ...353
隊列 ............. 353
為什么使用隊列 .......... 354
基本隊列配置 ............ 354
列隊任務 ............. 354
運行隊列工作者 .......... 358
錯誤處理 ............. 358
控制隊列 ............. 361
支持其他功能的隊列 ........... 361
事件 ............. 362
觸發事件 ............. 362
監聽事件 ............. 364
通過WebSocket 廣播事件及Laravel Echo ........ 367
配置和設置 ........... 368
廣播事件 ............. 368
接收消息 ............. 371
高級廣播工具 ............ 372
Laravel Echo(JavaScript 方面)........ 376
調度程序 ............ 379
可用任務類型 ............ 380
可用時間框架 ............ 380
阻塞和重疊 ........... 382
處理任務輸出 ............ 382
任務鉤子 ............. 383
測試 ............. 384
本章小結 ............ 385
第17 章 助手和集合 ........387
助手 ............. 387
數組 ............. 387
字符串 ............. 389
應用路徑 ............. 391
URL ............. 392
Misc(宏指令結構技術體系) ......... 394
集合 ............. 397
集合的基礎 ........... 397
幾種方法 ............. 399
本章小結 ............ 404
詞匯表 ..........405
序: