1. 程式人生 > >如何高效地學習 Laravel 框架?

如何高效地學習 Laravel 框架?

學習策略 Laravel 是個功能齊全的全棧框架,學習她相當於你在學習成為全棧工程師。如果你之前沒有學習過類似的全棧框架,你會發現你很快會被埋進大量的技術概念和專有名詞裡。這並不是你不夠聰明,而是: 人類短時間內的記憶和資訊處理能力都是有限的,當短時間內暴露在大量的資訊面前時,你的注意力會被嚴重分散,帶來的是挫折感和煩躁不安。 所以,我們需要一套更加聰明的學習策略。 我將框架知識分類為以下: 底層實現知識 —— 如服務容器、服務提供器、Facades、Contracts、Repository 等 框架使用知識 —— 如使用者註冊登入、郵件傳送、資料模型的 CRUD、使用者資料獲取等 每一個分類下都有非常多的概念需要學習,但是很明顯,學習框架的使用要比學習底層實現原理要簡單有趣多了,並且因為學習的愉悅性高了,我們能記得更牢固。 當你有一定的框架使用經驗以後,再去學習底層實現的概念,你能更好地理解這些技術概念的來龍去脈,最終達到會事半功倍的學習效果。並且這時候學習底層實現,也會讓你對框架的理解更加深入,你會發現你對框架使用技巧會變得更加靈活。 用比較簡單的話來講,就是在一開始學習的時候,先不管底層實現,利用框架提供的功能,先建造一些可用的專案,等熟悉掌握了這些框架功能的使用以後,再去學習底層實現概念。 即使是做了分類,並且有了先後順序還不夠。因為單單框架使用這部分的知識,涉及的概念也是非常多,很容易陷入資訊過載的情況。所以我們需要有一個循序漸進的方案,先學習簡單的,常用的概念,然後再慢慢學複雜的,並且在學習的過程中要注意重複學習,這樣概念才能記得越牢固。 推薦學習路徑 基於以上的思想,我建立了 《Laravel 實戰課程》,計劃中有三本(也有可能更多),分別是: 第一本 —— 《Laravel 入門教程 - 從零到部署上線》 第二本 —— 《Laravel 進階課程 - 從零開始構建論壇系統》 第三本 —— 《Laravel 高階課程 - 構架 API 伺服器》 第一本書教授如何使用 Laravel 一步一步構建一個類似新浪微博的應用,書中很多技術話題會被一帶而過,這是有意而為之的,我們希望讓讀者保持對編碼線索的專注,不被篇幅悠長的名詞解釋分心。通過閱讀本教程,你將學到如 HTML、CSS、JavaScript、PHP 和 Laravel 等 Web 開發相關的基礎知識。不僅如此,本書還會對這些基礎知識點進行延伸擴充套件,為你講解一些在 Web 開發中更為專業、實用的技能,如 Git 工作流、Laravel Mix 前端工作流、Bootstrap 框架基本使用等。這些知識將為你未來的程式設計開發奠定下堅實的基礎。 第二本以構建論壇專案 LaraBBS 為線索,展開對 Laravel 框架的全面學習。編碼規範遵循 Laravel 專案開發規範 ,應用程式架構思路貼近 Laravel 框架的設計哲學。在論壇系統的構建中,我們將學到多角色使用者許可權系統、管理員後臺、註冊驗證碼、圖片上傳、圖片裁剪,XSS 防禦、自定義命令列、自定義中介軟體、任務排程、佇列系統的使用、應用快取、Redis、模型事件監控、表單驗證、訊息通知、郵件通知、模型修改器等知識。在本課程的學習中,你不僅能學到使用 Laravel 開發一個論壇專案,還能學到安全優先、高擴充套件性的大型專案架構經驗。 第三本將以構建 API 伺服器為目標,來展開。目前本課程正在緊張撰寫中,敬請期待。 學完了以上三本書,你將擁有一定的專案開發經驗,對框架的功能使用也會有一個比較全面的系統性理解。這時候,會是學習『底層實現』的好時機。 底層實現的知識學習,可以從文件開始,開啟 Laravel 的文件中心 ——

d.laravel-china.org ,找到最新版本的 Laravel 文件,然後仔細閱讀 2、3 遍。因為有了上面的專案經驗,此時的文件閱讀啃起來會輕鬆多了。 閱讀文件後,可以嘗試看下 Laravel 底層的原始碼,看看這些框架的功能都是怎麼實現的。 學習過程中可以適當做筆記,例如: zhangbao 同學的 Laravel 文件閱讀筆記 leoyang 同學的 Laravel 原始碼分析筆記 錯誤的學習方法 一上來就開始啃文件 d.laravel-china.org 。 如果你是新手,有太多的新概念你需要學習,你會發現學習起來非常艱難,甚至懷疑文件是不是寫的太爛了(社群裡經常出現這種抱怨)。 事實上,不是文件寫的太爛,而是你把文件用錯了。文件的『目的』是快速查閱,一份優秀文件的標準是語言簡練,釋義,這個 Laravel 的文件做的很棒。但是,文件並不適合做入門學習使用,上面我們已經講過,原因是資訊量太大。 尋找網路上零散的課程進行學習。 如果你想學習單個概念,這些零散的小課程會很方便。但是,如果是想以閱讀大量課程來達到系統性學習的目的,你將會很失望。很多時候你會感覺 —— 你好像學了很多,學了很久,以為自己學會了,但是心裡還是沒底氣。 你需要的是通過專案,完整的專案,將所有的知識串起來去記憶。你的作品,清清楚楚擺在面前,看著你一步步構建出來的一套系統,自信心也會有所增加。 一開始就學習高階話題,如 服務容器、服務提供器、Facades、Contracts、Repository 等 很多時候你會發現這些話題晦澀難懂,很難學習。並且即使你毅力比較好,死記硬背,很快也會忘記,學習效率非常低下。然後最重要的,學會這些概念,並無法使你掌握構建一個完整專案的能力。