学习 Laravel 更有效率的七个建议

2,030 阅读7分钟

随着社区的发展,已经出现了很多现成的资源可以帮助你学习 Laravel。看起来很不错不是吗?不过,你该如何选择最好的一个?或者说,究竟哪个更适合你并且更有效率地帮助你去学习?面对 Laravel 这个精进不断的框架,我相信你也提出过这些问题。这里有七个建议,希望可以帮助你更有效地学习 Laravel。

当中有一些提示只适用于对 Laravel 的学习,而其他的也适用于对任何编程语言或框架的学习。

1. 讲真,不要从官方文档开始学习#

新手通常干的第一件事就是看 Laravel 的 官方文档 。标题党不要误会我的意思,Laravel 的文档写得那个是相当给力的!但是,大抵是编写文档的人多多少少期望读者懂得一些关于 PHP 的生态系统和现代工具的知识。

例如,文档的第一部分是安装,但它不只是「下载和安装」。你必须要知道如何使用 Composer 、如何使用终端或命令行、如何运行命令、如何让 Web 服务器工作等。

2. 先学习 PHP、面向对象、终端和 Composer#

学习这些听起来很有趣,但我看到越来越多想学习 Laravel 的人都不先从学习 PHP 开始。就好像那些想使用 jQuery 却不去学习任何 JavaScript 的人。框架的存在并不是为了带给你学习的捷径,还是脚踏实地,从基础开始。

要开始学习任何现代 PHP 框架(Laravel、Symfony 或者其他),你需要熟练使用 PHP。特别是面向对象编程。所有框架都是用面向对象模式编写的,你需要流利地使用类、对象、属性、方法、依赖、traits 和其他「关键字」。

一般来说,我建议你至少创建一个使用纯 PHP 而不是使用任何框架去搭建的简单的项目。这样才能让你更好地去了解 PHP,更有效地利用 Laravel 内部的函数。

另外,在我看来,是 Composer 这个工具使得 PHP 更加强大。了解 Composer 会让你懂得如何充分地利用 Laravel 的依赖,这是现代 PHP 开发的重要组成部分。

还有终端,即 OS 系统的 Terminal 和 Windows 系统的 cmd。同样,现代 PHP 框架会使用命令来执行大部分功能,例如生成代码、安装库、更改设置、部署运行等。你必须了解这些基本知识。

上述一切都是在你在开始 Laravel 之前需要知道的。看到这里突然怂了么?别怕!这只是建议的开始。

3. 书、课程或视频?免费或付费?#

很多人在学一样东西的时候都会先问的问题:有什么最好入门的方法么?每个人的选择方式都不同,有些人喜欢通过看书来学习,而有些人更喜欢直观易懂的视频课程。任何一种方式都很好。但前提你要找的内容应该是相对稳定、结构合理的。而不是从 YouTube 找一些随机文章或视频,它不会给你想要的结果。你需要作者前后一致地去阐述这些内容。否则,你可能会很容易就懵圈,而无法理解更深一层的课程。

这也是免费课程和付费课程的根本区别。有人说你学习编程只需要多上网查资料,因为这上面有大量免费的信息。这是真的,但如果你选择这种方式去学习,你就得花费大量不必要的时间将这些内容结合到一起。而付费的课程或书籍通常是最好的,因为这些内容是专门为了方便你学习而准备的,所以你不需要把时间花在找这些内容上面。(如果能站在巨人的肩膀上,为什么不呢?)

以下是我推荐三个的资源:

上面都是些国外的学习资源,英语不行?别怕,硬着头皮上还是能看懂的。当然也有国内的资源:

而关于如何更好的学习 PHP 的书,@overtrue 安正超大神总会推荐一本 《 深入PHP:面向对象、模式与实践 》。
(当然还有更多更好的书,也希望更多有心人士能举荐一二)

4. 停止阅读,写 bug 去#

没敲过代码没写过 bug 是不可能学会任何编程。不要花太多时间看书或着看视频,尽早开始打码。事实上,在完成每节课程或读完每个章节之后,就应该立刻开始进行编码练习。

一般来说,我建议你在学习过程中创建一个测试项目,它使这个过程不仅更现实,而且更有激励。没有怀抱适当的目标和某种目的,在情感上来说是很难继续学习理论。

如果你只写代码,你会碰到障碍以及遇到很多要问的问题。通过遇到问题和克服它们,你的知识面不断扩大从而成为真正的开发人员。(只是要多放点耐心进去,把打怪升级刷副本的斗志拿出来就好!)

5. 学习使用 Google 和 StackOverflow#

虽然与 Laravel 不直接相关,但是这很重要。你不会百度么?赶紧 Google 去呀!对于程序员来说,找张梯子不是什么难事。知道 Google 和百度的区别么?不知道啊?那去 Google 一下呀!

StackOverflow 是一个与程序相关的IT技术问答网站。一般你上 Google 搜索问题的解决方案,通常第一批被搜索出来的内容都是来源于 StackOverflow 。

那么问题来了!你会提问么?哈哈,你可能会质疑「什么叫做会提问」,推荐你不妨先去看看 提问的智慧 中文版
通常,每个论坛和社区都有自己的文化、规则和行为期望,比如 Laravel China 社区的 社区发帖和管理规范。而你在技术社区,不仅仅只是阅读人家发的技术贴,你还可以以正确的方式和风格提出问题。如果你有礼貌、耐心和尊重,你就会有更多机会去得到大牛的帮助。

6. 找个导师#

学习编程的最大问题是当某些东西不起作用时你不懂得排除问题 。这个问题的最佳解决方案是向别人寻求帮助。论找个大神帮助你的重要性!

你应该在哪里找导师?在你的社交圈中,无论是线下的还是线上的。学校里的师兄师姐或者上社区论坛上的大牛,相信我,只要他们不忙,而你提出的问题不算太愚蠢,他们是很乐意帮助你的。渠道当然是自己找,在社区提问,或者私信他们。

7. 不要放弃#

正如在上一个提示中提到的,当遇到一个你不能解决的问题,会很容易放弃学习。也许这就是为什么这么多人开始学习,但实际上只有少数成为专业开发人员的原因。世上不会总是有彩虹和蝴蝶,这条道路会总是充满问题。困难的问题、自我的怀疑、甚至你会有想把电脑扔出窗外的念头。然而每个开发者都在经历这一切,而且从未中断过。相信我,无论发生什么,你要做的事情是继续,坚持继续,再继续。当你开始有创造力,当你可以轻易地将你脑海里萌生的东西实现,你会明白这一切都是值得的。

最后,谈到不断进步,我最后的建议是不要让学习课程与休息之间间隔太长。每周或甚至每天不断学习新的东西。它就像是一种锻炼,如果你错过了一天,很难找回节奏。(唯有坚持学习,坚持不断学习,才是王道)

以上就是我的建议,我希望你会找到你最好的学习方式,说不定有一天,我们会为了创建一个了不起的 Laravel 项目而在一起工作!