最新消息:

新手应该如何学习 PHP 语言?

php koic_zhzz 300浏览 0评论

做是最好的学。

语言基础

任何语言学习都分两个部分,1. 语言基础 2. 应用开发。

语言基础你可以在本地装好环境,配合书(《Modern PHP)或者网上资料练习,保证时间即可,让自己有100小时+的时间熟悉变量,数据类型,函数,基础OOP等语法。

也可以用在线课程:

  • PHP 7面向对象编程

资料不必多,不是在网上找到几十个资源你就自动学会了,少即是多,刻意控制资料数量,充分利用资料,用好一两处资料比囤积大量资料而不用重要得多,资料越多你越是信息过载,要学会做减法

边开发边学习:做小项目(这是不需要写到简历上的)

仅有语言基础,你做不出什么东西,你得获得领域知识,PHP基本就是中web后台语言,你需要在开发中理解http,数据库等关键领域知识;你还得熟悉开发流程,这只有通过开发才能学会。

实际开发可以用一些基础课程,不需要深,目的是把学到的语言基础用起来,同时学习领域知识:

  • PHP开发注册登录与邮件验证
  • PHP用Ajax上传图片
  • PHP PDO数据库开发
  • PHP Ajax注册与验证

都是小项目,但会让你充分基础到http,数据库的操作,web服务器等重要知识。不要把课程本身的完成当目的,而要把通过课程自己完成的“项目”,做的东西作为标准。

市场上的大部分PHP学习者,大概只进行到这一步。

心态和预期很关键

学习一定会碰到问题,犯错误,尤其初学,第一次动手写实际东西。对待问题和错误的心态很重要,直接决定学习效果。

错误的心态有几种:

  • 觉得自己是“知道”的,所以就放过去的
  • 觉得错误是不“应该”的
  • 碰到就躲,嫌麻烦

如果学习不和问题错误打交道,只拣好啃的骨头啃,那还学什么?学习过程中最有价值的地方,就是你碰到的问题,所犯的错误,用资料用个表面,学一点“容易”的东西,谁不会呢?

问题和错误一个个解决过去,解决一次很可能以后就不用再解决了,这就是“经验积累”。

所以学习者心态要对:

  • 问题和错误是“正常”的,“必要”的
  • 问题和错误是“机会”
  • 今天解决,以后就轻松了

我建议你养成一个搜集错误的习惯,不需要很复杂,记一笔,放到一个地方就可以了,不需要记很多,解决一个删除一个,这个问题和错误清单能够帮助你集中注意力。

边开发边学习:做完整大项目(这是你的简历上最有价值的部分)

下面这些都是PHP很实际的应用,如果你能完全做上一遍,你基本已经到了PHP中级的水平:

  • PHP开发内容管理系统
  • 用PHP克隆Twitter
  • PHP从零开发MVC框架
  • PHP开发电商系统

虽然到此时你可能还没有接触框架(有的课程里会借助框架),没有高并发经验,但PHP应用开发的核心都在这些项目里面。

完成这些项目你大概需要半年时间,你可以根据自己的实际情况有选择地做,但不能少与两个。

市场上大部分的PHP初学者在求职前走不到这一步,他们觉得“没有东西做”,这大概是因为信息不对称,他们不知道其实有很多东西可以做。

经过这一步,理论上你是可以去直接求职的,有的公司对初中级的php程序员并没有硬性框架要求,因为你做到这一步,学个框架大概不超过两周。

但这时候求职的问题是你的选择不会那么多,毕竟多数企业的php开发职位还是要求框架的。

边开发边学习:学框架(这是要写到简历上的)

框架是任何编程领域里最“简单”的东西,如果你觉得难,只有一个原因,你基础没打好,前面做的东西写的代码不够多。

  • CodeIgniter入门教程
  • 用Laravel 5克隆Wordpress
  • Symfony 3实例教程
  • 掌握Yii 2

你只需要投资一个,投资哪个是你要做的决定,自己去分析招聘网站相关职位的需求。

做到这一步,你在市场上已经有了竞争力,是完全可以求职的。

所有的项目代码要规范,注意细节,在github上好好放着,时不时看看,迭代commit一下,好好写个README.md,相信我,大部分小朋友的profile里是没有像样的东西的。

学框架的时候,你接触到安全和性能方面的东西,特别是安全,可以专门补一补:

  • PHP编写安全的代码

后台的安全是一件很重要的事,面试的时候安全的问题很常见,框架会隐藏一些安全实现的细节,但这是php程序员必须有的修养。

精通

PHP简单好学,本身没有深奥的概念,设计模式用得也不需要很深,基本都围着MVC转,框架会用得多一点,但应用开发程序员通常意识不到,你有兴趣,好好去研究框架源码,我认为这是学设计模式比较省力的方法,框架的设计模式下的实现,允许你去扩展(比如filter),这是你“用”模式学模式的好机会。

PHP的真正挑战不是PHP,现代PHP代码的可维护性不比任何一种语言低(别听网上的人胡说),PHP的真正挑战是所有后台语言的挑战,“Scalability”,多数时候这不是语言的问题,而是系统架构的问题,请看 如何获得高并发的经验?

归根到底,精通每个后台栈的关键都是实实在在的一线设计,编程,架构,优化的经验,没有什么可以代替实际经验。

这种经验要在企业级应用开发的实践中取得。

但我想说的是,这个经验并非绝对必要,我前面说了,这本质不是PHP的问题,PHP的核心技能是后台应用开发,这在你求职前是完全可以掌握的。

转载请注明:落伍老站长 » 新手应该如何学习 PHP 语言?

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址