前段时间和大家一起分享了一篇关于学习方法内容《大牛与搬运工的差距——学习方法的力量》。我们将学习过程分成八步,并借鉴了敏捷开发的迭代思想,以达到自我迭代学习的效果。行胜于言,理论结合实践才是王道,所以本文我将基于前面的学习方法,分享我是如何学习PHP的。
为什么学习PHP?
最初接触PHP时,是源于自己想学习网站开发,由于是前端转后端,PHP完全是自学的,不过好在之前学过C语言,学起PHP来倒并未觉得吃力。使用PHP我们可以开发出各种优秀的web应用程序。
我不敢说PHP是最好的语言(避免引战),但PHP凭借其易学、快捷、高效等特性,至少在WEB应用开发领域里一直都是热门技术,以至于现在市面上各种IT培训机构里都不乏PHP的身影。
接下来,我们就马上开启PHP的学习之旅~
1.确立目标
我们都知道做事情要定个目标,看似简单,但实际大部分人做事无成果的原因恰恰就是这一步没做好。
建议大家在确立目标时,借鉴”SMART”原则——Specific(具体的), Measurable(可衡量的),Achievable(可达到的),Realistic(切合实际的),and Timed(合时宜的)。不要给自己制定诸如“我要精通PHP”、“我要成为技术大牛,月薪XX万”等这种不着边的目标。
我在初学PHP时,给自己定的目标很明确:
学习PHP的基本知识,并通过开发一款CMS建站系统来验证学习效果。
2.拆分任务
我们通过逆向分解,将目标拆分成具体的可执行任务。这个过程其实就是将目标细分整理成具体的小目标或问题,然后将其关联到一个个可执行的任务,目的是完成目标或解决问题。
完成我的目标,需要具体学习哪些知识,完成哪些事项呢?首先,学习PHP之前基本的HTML,CSS,JS等前端基础还是有必要的。然后学习PHP的基本语法,文件、图片、错误等处理机制,还有与mysql数据库的一些操作,以及会话控制、协议、MVC设计模式等。
梳理之后,目标就会被分解成一个个需要完成的具体任务。这里我借助“然之协同”里的任务管理工具,将需要做的任务都罗列出来,方便后面执行跟踪。
3.搜集知识资源
学习过程中必然少不了各种学习资料,在搜集知识资源时主要侧重三方面:书籍、官方文档和网络技术文章。
首先我找的是PHP的官方手册,这是必备学习工具,内容既权威又全面。其次书籍到现在买的较多,对于初学者,不建议“书海战术”,个人觉得“手册+一本书+一台电脑”足矣。其实很多入门书籍都是基于PHP手册编写的,千篇一律,所以建议初学者学习PHP时要研读手册,每段实例代码都上手操作并理解透彻。这里为初学者推荐几本个人觉的还不错的书以供参考:
《PHP编程(第三版)》
《PHP和MySQL Web开发(原书第4版)》
《深入PHP:面向对象、模式与实践(第3版)》
除此之外,平时也会在CSDN、掘金、博客园等IT技术门户里查阅一些php技术相关的“干货”。
对于知识资源的搜集,还是要提醒大家注意一点,切勿做“收藏控”。很多朋友对于书籍、各种教程、网络文章等资源,购买了下载了收藏了,然后,就没有然后了,最终真的沦落为“收藏品”。而我们真正要做的是要把知识“收藏”并沉淀到我们脑子里。
4.分配自身资源
其实就是时间管理。我们的时间、精力等各方面资源有限,所有的知识不可能平均分配有限资源。对于我们搜集的知识资源,要分清主次,然后使用不同的时间管理策略进行学习。
前面梳理了一些需要执行的学习任务,并整理了大量的学习资源,这一步要做的就是将这些任务、资源结合自身的实际情况,合理规划分配时间精力。每个人的情况不同,所以这一步因人而异,这里我还是借助“然之协同”的待办工具,做一个具体可执行性的学习计划。
5.勤学
学习效率与效果取决于执行力。之前文章介绍过学习中的一些方法论,这里我简要地介绍一下学习PHP时的大体过程。
a.快速泛读
如果你有一定语言基础,比如我之前学过C和前端技术,再学起PHP来上手就相对快一些。基本的语法知识可以先快速过一遍,像数组、字符串、图片等处理函数、对象接口、正则匹配等可以后面慢慢积累、深入。
b.深入解读
由浅入深地沉淀每个知识点。正如前面所讲,建议先从PHP手册入手,将每个知识点理解清楚,一定要将每一段实例代码亲手敲一遍(手懒是永远都学不会任何一门语言的)。一遍不懂就多敲几遍,不仅要明白怎么用,还要理解为什么这样设计,否则对于基本知识浮于表面,只会为后面学习挖下坑。
c.问题攻读
在学习过程中你必然会遇到各种问题,先查阅资料或谷歌来解决。如果遇到以现有知识层面难以解决的问题,可以先记下,或许后面会柳暗花明或找他人帮助。
这一步学习的正确姿势其实就是“做任务,刷副本,打怪升级,加技能点”。
6.建立知识体系
不要以为这一步可有可无,建立知识体系有助于帮我们理清各个概念和知识点之间的关联,逐渐形成系统的知识体系。在web开发里,我们知道任何一门技术都不是孤立的,你要学习很多知识,所以你在学习PHP时会发现,从PHP这个点会延伸出多条知识链,从而系统地形成一个知识体系。
这里我借助xmind脑图工具,整理了一下PHP的基本的知识体系。(网上有列的更详细全面的版本)
7.好问
基于前面问题攻读后还有未解决的问题,就要求教他人获取帮助了。提问也是一门艺术,这仍是一个学习交流的过程,而不是让别人去解决原本你该解决的问题。
向别人提问求助时,要讲问题的来龙去脉讲清楚,如怎么引起的,自己尝试做了哪些操作等等。这些年在众多技术交流社群和平台,见过很多奇葩的提问方式,这里列几个,与大家共勉。
a.直抛结果型
直接甩出一张截图或错误提醒,并附上一句:怎么解决?怎么破?跪求科普……
b.不懂就问型
不动脑,不动手,碰到问题就问。这种选手即便帮他解决了问题,他也学不到东西。
c.懒人型
与前者类似,但更滑稽可笑,看到这种问题我个人向来直接无视。比如“这个问题是这样操作么?”,“我这样整对不对?”,“是点这里么?”……
8.分享复述
其实即便不提“费曼技巧”,我们很多人在学习时都会用到分享复述这个方法。无论是演讲、录视频、还是写文章,其实都是在向他人阐述自己对知识的理解和观点,然后大家会给自己一些反馈,比如你的错误、问题,接着自己再回归到知识里完善不缺“漏洞”,如此迭代学习。
开源项目推荐
这里分享下我们团队基于PHP+Mysql开发的项目,供大家学习练习。
小结
我将自己学习PHP的过程分为八步:
1.确立目标:没有目标的学习是不会有结果和效果的。
2.拆分任务:将目标分解成具体可执行的学习任务。
3.搜集知识资源:查阅官方文档、购买书籍、搜集网络干货文章。
4.分配自身资源:合理分配时间精力,制定学习计划。
5.勤学:强大的执行力是学习的根本保障。
6.建立知识体系:将学习的知识在脑海里建立系统模型。
7.好问:避免孤立学习,但好问也要会问。
8.分享复述:检验学习成果,提高学习效果的最好方法。
作者:GavinHsueh,QQ/微信:753391279,专注项目管理、办公自动化、网站建设等web应用开发领域。
相关推荐
Git学习笔记干货 Git 是什么? Git 是目前世界上最先进的分布式版本控制系统。版本控制系统是指一种记录、跟踪和管理代码变动的系统。Git 的出现解决了手动管理多个“版本”的问题,使得多人协作编辑变得更加方便。...
在描述中,“有效果,绝对干货!”表达了这个实例具有明显的实际效果,并且提供了链接"http://www.52miui.com/onlinetools/translate/index.html",这是一个在线的示例应用,用户可以直接体验到使用百度翻译API的...
在IT行业中,Dcat-admin是一款基于 Laravel 和 Bootstrap 的后台管理系统框架,它提供...理解并掌握这些基本要素,你就能灵活地扩展Dcat-admin以满足项目特定的需求。不断学习和实践,你将在后台开发领域变得更加熟练。
在PHP中,有一种称为“一句话木马”的技巧,它将恶意代码封装在一个看似无害的语句中,以逃避检测。对于Shellcode,虽然没有直接的等价物,但可以通过类似的方法实现混淆,例如将Shellcode编码为Base64字符串,嵌入...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】...
是PHP程序员提高的学习本课程最好有一定PHP / LINUX / C基础知识学起来些些两三个小时的视频实际上是本人几年时间断断续续的研究然后花费了两三个月录制的,耗费本人很多能量,请尊重本人劳动成果,视频中全是知识点...
看这一篇干货文章就够了!Docker从入门到实践,学习docker必备!Git计算机网络一个网页从输入地址回车,到完整展示网页内容这段时间里,发生了什么?简单说说你什么是三次握手和四次挥手?数据结构和算法海量数据...
标题和描述提到的是整理阅读过的干货文章和帖子,这表明我们关注的焦点是各种技术的实践应用和深入理解。下面,我将根据提供的标签和可能的文件内容,逐一解析相关知识点。 1. **MySQL**:作为最广泛使用的开源关系...
面试了好未来,跟谁学,头条,极客保险,百度文库,百度知道等等公司 PHP 面试题汇总、剑指 Offer PHP 代码实现版本 Java 面试 + Java 学习指南 关于面试/谈 Offer /程序员职场生涯等 剑指 Offer 50 题视频讲解 用...
在"wechat-weapp-gank-master"这个压缩包子文件名中,我们可以推测这可能是微信小程序的一个开源项目,"gank"可能指的是"干货",在编程领域中通常指实用的技术或资源。"master"分支通常是Git版本控制系统中的主分支...
BDB-frame V1.0.0 | 源码官方社群作者: Bruce.D,PHP 数据库,,本仓库是作者Bruce.D 从事一线互联网 PHP/Golang/数据库 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习技术干货。如果本仓库能为您提供...
【描述】"应用商店后台代码,干货分享,过期不候哦,快点来下载吧"提示我们,这是一个分享性质的资源,可能是开发者社区或者个人为了交流学习而发布的。"干货"一词表明这份代码具有较高的实用价值和学习意义,可能...
JS干货 浅色背景和浅色文字友好搭配的解决方案 ES6 的解构赋值前每次都创建一个对象吗?会加重 GC 的负担吗? CSS干货 css3中filter的各种特效 24种表单input输入框聚焦动画特效 周边 从前端角度看企业软件的研发...
这篇文章旨在记录 API 脚手架的搭建过程,搭建这个脚手架是为了整合自己在社区学到的内容 ,同时也是为了以后在新项目面前能Swift拿出实用的干货。 脚手架里边有很多地方都是可以再次改造成自己业务...
5. **动态内容处理**:介绍与PHP、Java等后端语言的集成,实现动态网页服务。 6. **安全与优化**:讲解如何加强Nginx的安全配置,以及性能调优方法。 7. **故障排查与监控**:学习如何监控Nginx状态,进行问题定位和...
把妹专区,不定期分享干货(你懂的)。 主要模块: 分类管理 文章管理 标签管理 评论管理 导航管理 用户管理 下载安装 如果不熟悉laravel项目的安装使用: 针对博客的说明: 版权 项目使用 MIT 协议;免费开源可...