前段时间和你们一块儿分享了一篇关于学习方法内容《大牛与搬运工的差距——学习方法的力量》。咱们将学习过程分红八步,并借鉴了敏捷开发的迭代思想,以达到自我迭代学习的效果。行胜于言,理论结合实践才是王道,因此本文我将基于前面的学习方法,分享我是如何学习PHP的。
php
最初接触PHP时,是源于本身想学习网站开发,因为是前端转后端,PHP彻底是自学的,不过好在以前学过C语言,学起PHP来倒并未以为吃力。使用PHP咱们能够开发出各类优秀的web应用程序。html
我不敢说PHP是最好的语言(避免引战),但PHP凭借其易学、快捷、高效等特性,至少在WEB应用开发领域里一直都是热门技术,以致于如今市面上各类IT培训机构里都不乏PHP的身影。前端
接下来,咱们就立刻开启PHP的学习之旅~mysql
咱们都知道作事情要定个目标,看似简单,但实际大部分人作事无成果的缘由偏偏就是这一步没作好。程序员
建议你们在确立目标时,借鉴”SMART”原则——Specific(具体的), Measurable(可衡量的),Achievable(可达到的),Realistic(切合实际的),and Timed(合时宜的)。不要给本身制定诸如“我要精通PHP”、“我要成为技术大牛,月薪XX万”等这种不着边的目标。web
我在初学PHP时,给本身定的目标很明确:sql
学习PHP的基本知识,并经过开发一款CMS建站系统来验证学习效果。数据库
咱们经过逆向分解,将目标拆分红具体的可执行任务。这个过程其实就是将目标细分整理成具体的小目标或问题,而后将其关联到一个个可执行的任务,目的是完成目标或解决问题。编程
完成个人目标,须要具体学习哪些知识,完成哪些事项呢?首先,学习PHP以前基本的HTML,CSS,JS等前端基础仍是有必要的。而后学习PHP的基本语法,文件、图片、错误等处理机制,还有与mysql数据库的一些操做,以及会话控制、协议、MVC设计模式等。后端
梳理以后,目标就会被分解成一个个须要完成的具体任务。这里我借助“然之协同”里的任务管理工具,将须要作的任务都罗列出来,方便后面执行跟踪。
学习过程当中必然少不了各类学习资料,在搜集知识资源时主要侧重三方面:书籍、官方文档和网络技术文章。
首先我找的是PHP的官方手册,这是必备学习工具,内容既权威又全面。其次书籍到如今买的较多,对于初学者,不建议“书海战术”,我的以为“手册+一本书+一台电脑”足矣。其实不少入门书籍都是基于PHP手册编写的,千篇一概,因此建议初学者学习PHP时要研读手册,每段实例代码都上手操做并理解透彻。这里为初学者推荐几本我的觉的还不错的书以供参考:
《PHP编程(第三版)》
《PHP和MySQL Web开发(原书第4版)》
《深刻PHP:面向对象、模式与实践(第3版)》
除此以外,平时也会在CSDN、掘金、博客园等IT技术门户里查阅一些php技术相关的“干货”。
对于知识资源的搜集,仍是要提醒你们注意一点,切勿作“收藏控”。不少朋友对于书籍、各类教程、网络文章等资源,购买了下载了收藏了,而后,就没有而后了,最终真的沦落为“收藏品”。而咱们真正要作的是要把知识“收藏”并沉淀到咱们脑子里。
其实就是时间管理。咱们的时间、精力等各方面资源有限,全部的知识不可能平均分配有限资源。对于咱们搜集的知识资源,要分清主次,而后使用不一样的时间管理策略进行学习。
前面梳理了一些须要执行的学习任务,并整理了大量的学习资源,这一步要作的就是将这些任务、资源结合自身的实际状况,合理规划分配时间精力。每一个人的状况不一样,因此这一步因人而异,这里我仍是借助“然之协同”的待办工具,作一个具体可执行性的学习计划。
学习效率与效果取决于执行力。以前文章介绍过学习中的一些方法论,这里我简要地介绍一下学习PHP时的大致过程。
a.快速泛读
若是你有必定语言基础,好比我以前学过C和前端技术,再学起PHP来上手就相对快一些。基本的语法知识能够先快速过一遍,像数组、字符串、图片等处理函数、对象接口、正则匹配等能够后面慢慢积累、深刻。
b.深刻解读
由浅入深地沉淀每一个知识点。正如前面所讲,建议先从PHP手册入手,将每一个知识点理解清楚,必定要将每一段实例代码亲手敲一遍(手懒是永远都学不会任何一门语言的)。一遍不懂就多敲几遍,不只要明白怎么用,还要理解为何这样设计,不然对于基本知识浮于表面,只会为后面学习挖下坑。
c.问题攻读
在学习过程当中你必然会遇到各类问题,先查阅资料或谷歌来解决。若是遇到以现有知识层面难以解决的问题,能够先记下,或许后面会柳暗花明或找他人帮助。
这一步学习的正确姿式其实就是“作任务,刷副本,打怪升级,加技能点”。
不要觉得这一步无关紧要,创建知识体系有助于帮咱们理清各个概念和知识点之间的关联,逐渐造成系统的知识体系。在web开发里,咱们知道任何一门技术都不是孤立的,你要学习不少知识,因此你在学习PHP时会发现,从PHP这个点会延伸出多条知识链,从而系统地造成一个知识体系。
这里我借助xmind脑图工具,整理了一下PHP的基本的知识体系。(网上有列的更详细全面的版本)
基于前面问题攻读后还有未解决的问题,就要求教他人获取帮助了。提问也是一门艺术,这还是一个学习交流的过程,而不是让别人去解决本来你该解决的问题。
向别人提问求助时,要讲问题的前因后果讲清楚,如怎么引发的,本身尝试作了哪些操做等等。这些年在众多技术交流社群和平台,见过不少奇葩的提问方式,这里列几个,与你们共勉。
a.直抛结果型
直接甩出一张截图或错误提醒,并附上一句:怎么解决?怎么破?跪求科普……
b.不懂就问型
不动脑,不动手,碰到问题就问。这种选手即使帮他解决了问题,他也学不到东西。
c.懒人型
与前者相似,但更滑稽好笑,看到这种问题我我的向来直接无视。好比“这个问题是这样操做么?”,“我这样整对不对?”,“是点这里么?”……
其实即使不提“费曼技巧”,咱们不少人在学习时都会用到分享复述这个方法。不管是演讲、录视频、仍是像我此刻这样写文章,其实都是在向他人阐述本身对知识的理解和观点,而后你们会给本身一些反馈,好比你的错误、问题,接着本身再回归到知识里完善不缺“漏洞”,如此迭代学习。
这里分享下咱们团队基于PHP+Mysql开发的项目,供你们学习练习。
我将本身学习PHP的过程分为八步:
1.确立目标:没有目标的学习是不会有结果和效果的。
2.拆分任务:将目标分解成具体可执行的学习任务。
3.搜集知识资源:查阅官方文档、购买书籍、搜集网络干货文章。
4.分配自身资源:合理分配时间精力,制定学习计划。
5.勤学:强大的执行力是学习的根本保障。
6.创建知识体系:将学习的知识在脑海里创建系统模型。
7.好问:避免孤立学习,但好问也要会问。
8.分享复述:检验学习成果,提升学习效果的最好方法。
做者:GavinHsueh,QQ/微信:753391279,专一项目管理、办公自动化、网站建设等web应用开发领域。
程序员动漫 技术干货分享