本書從基礎開始詳細地講解瞭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課程並獲得大量學員的支持與喜愛。
目錄
前言 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
第4章 Blade模闆 55
第5章 前端組件 73
第6章 收集和處理用戶數據 91
第7章 Artisan和Tinker 109
第8章 數據庫和Eloquent 127
第9章 用戶認證和授權 193
第10章 請求和響應 221
第11章 容器 243
第12章 測試 257
第13章 編寫API 281
第14章 存儲和檢索 313
第15章 郵件和通知 335
第16章 隊列,任務,事件,廣播及調度程序 353
第17章 助手和集閤 387
詞匯錶 405
譯者序
在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 中的新功能將被標記齣來。
書中對於一些高級特性的講解,也做到瞭既全麵又實用。例如,關於“隊列”和“任務調度”的部分,作者不僅解釋瞭它們的作用和適用場景,還提供瞭多種配置和使用方式的示例,並講解瞭如何在生産環境中進行部署和監控。對於“緩存”的講解,也覆蓋瞭文件緩存、Redis緩存、Memcached緩存等多種驅動,並詳細說明瞭如何根據不同場景選擇閤適的緩存策略,以及如何處理緩存擊穿、緩存穿透等問題。更重要的是,作者在講解這些高級特性時,並沒有忽略它們與基礎知識的聯係,而是清晰地展示瞭它們是如何建立在Laravel的底層架構之上的,這讓我對整個框架的理解更加係統和深入。即使是之前接觸過Laravel,也能從中獲得不少新的啓發和技巧。
評分這本書的內容編排邏輯性很強,從零基礎的用戶也能輕鬆上手。它不是那種“知其然,不知其所以然”的書,而是能夠讓你理解“為什麼”要這麼做。比如,在講解“依賴注入”時,作者花瞭相當篇幅去解釋為什麼需要依賴注入,它解決瞭什麼問題,以及在Laravel中是如何實現的。他還會通過對比的方式,讓我們看到沒有依賴注入時代碼的脆弱性,以及引入依賴注入後代碼的可測試性和可維護性是如何得到提升的。這一點對於我理解“SOLID”原則等設計理念很有幫助。而且,書中對Laravel的一些核心組件,比如“服務容器”、“服務提供者”的講解,也做到瞭深入淺齣,不會讓人覺得高不可攀。作者的語言風格也十分平易近人,沒有生硬的學術腔調,讀起來感覺就像是在和一位經驗豐富的開發者朋友交流。
評分這本書的排版設計實在令人驚喜!封麵選用瞭非常有質感的紙張,觸感溫潤,色彩搭配也十分和諧,一看就是用心之作。翻開書頁,字跡清晰,間距舒適,即使長時間閱讀也不會感到疲勞。更讓我贊賞的是,書中大量的插圖和圖錶,不僅僅是簡單的示意,而是經過精心設計,能夠直觀地展現復雜的概念和代碼結構,大大降低瞭理解難度。比如說,在講解Eloquent ORM的關聯關係時,作者不僅用文字描述,還配上瞭精美的ER圖,讓人一目瞭然。代碼示例的字體和高亮風格也做得恰到好處,不僅易於區分關鍵字、變量和注釋,整體觀感也十分專業,讓人有種想立刻跟著敲代碼的衝動。每一章的結尾都附帶瞭小結,將本章的核心內容提煉齣來,方便迴顧和鞏固。整體而言,這本書在細節之處體現齣的對讀者的關懷,是市麵上很多技術書籍所缺乏的,這種精良的製作工藝,讓我覺得物超所值。
評分這本書不僅僅停留在基礎知識的羅列,而是真正地引導讀者去“實戰”。每個章節的學習都伴隨著一個具體的項目或功能模塊的實現。例如,在學習瞭用戶認證後,緊接著就帶領讀者實現一個完整的注冊、登錄、退齣係統,並加入瞭“記住我”等實用功能。在講解API開發時,作者會引導讀者構建一個簡單的RESTful API,並演示如何進行請求、響應以及錯誤處理。讓我印象深刻的是,書中對“單元測試”和“集成測試”的講解,不僅僅是告訴我們測試的重要性,而是詳細演示瞭如何在Laravel中編寫有效的測試用例,並將其融入到開發流程中。這種“邊學邊練”的模式,讓我能夠立刻將所學知識應用到實際項目中,鞏固記憶,並培養良好的開發習慣。
評分對於一個正在學習Laravel框架的新手來說,這本書簡直是量身定做的。作者在講解基礎概念時,沒有直接堆砌枯燥的術語,而是從實際開發場景齣發,娓娓道來。例如,在介紹“路由”這個概念時,作者並沒有急於展示各種復雜的路由定義,而是先描繪瞭一個小型博客應用的需求,然後一步步引導讀者思考如何將用戶訪問的URL映射到具體的處理邏輯,這樣的引入方式,讓“路由”不再是抽象的理論,而是解決實際問題的工具。書中對於MVC架構的講解也十分透徹,每個部分的職責都闡述得清清楚楚,並結閤實際例子說明它們是如何協同工作的。此外,作者在講解過程中,還會穿插一些“新手避坑指南”,提前指齣一些容易犯的錯誤,並給齣正確的解決方案,這對於避免我走彎路,節省大量調試時間起到瞭至關重要的作用。這種潤物細無聲的指導,讓我覺得這位作者真的非常懂我們這些初學者在學習過程中會遇到哪些睏難。
評分去年618的書還沒看完。。。
評分還可以,不適閤初學者
評分還在看
評分還沒時間看, 隻能說是正版
評分這個是寫php必不可少的,可以去看一看。。。。。。
評分真心好書,是正版,送貨也快,618促銷買的,打五摺,很不錯
評分活動買的,劃算
評分東西質量非常好~很好很贊
評分書挺不錯的,紙質還行,隻不過送來時書角有些摺損,不過沒關係啦
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有