其实学习PHP会很有多迷惑,认真的人会问到底该学习些啥?

你列举的都是看api就能上手的东西,根本没有核心竞争力
■网友
网站开发属于web领域,现在很多是PHP的方式开发领域。其内容很广泛。对于新手来说,按什么顺序来学,才更容易入门呢?
首先来看PHP整个体系的内容划分,然后根据这些总结一下学习顺序和路线。
从横向上来看,当用浏览器打开某个php页面的时候就牵涉到了如下东西:
前端就有html,css,js。在js基础上封装出了jquery库。在js和jquery库上又封装出了新的插件,如:bootstrap,amaze,layer,富文本编辑器等。然后就到了PHP部分,在这里需要存储动态数据,必然要数据库了。数据库又牵扯出关系型数据库,如:mssql,mysql,sqlite,db2等等和非关系型数据库,如:Redis,MongDB,图数据库等。一个web系统是需要服务器支撑的,通常都会选择linux服务器。
从纵向上来看,单就PHP方向就有php的各种基础,如:变量的定义,函数的使用,函数库。类的抽象、封装、继承、多态、接口。再往下走就有编程模式,如:MVC,工厂模式。从安全性还牵扯出单入口。前后端分离的模板解析引擎,如:Smarty,以及其他框架和系统各自的模板解析引擎。
从综合上来看:
\t1:功能上来分,有登录模块,注册模块,后台模块,文章模块,商品模块,备份还原模块,安装模块,无限极分类模块等。
\t2:从应用上来看,有各种第三方接口,如:QQ登录接口,支付接口,手机短信接口,身份证验证接口等等。
\t3:从实际开发项目上来看,PHP又衍生出很多的框架,如:Laravel,TP,YII,CI,以及开源系统,如:PHPCMS,Discuz,Ecshop。到你开发项目的时候,自然就会有很多种选择了。如直接原生态采用面向过程的方式开发,如基于某个框架开发,如用开源系统开发。比如要做个论坛,很多人选择的是Discuz开发,但是使用了几个月,发现要开发一个新的功能模块(Discuz里面没有的)就要面对298张数据表,头开始大了。
\t4:从项目优化上来看有:负载均衡、集群、大数据处理。
那么,面对这么多的内容,到底怎么学才好呢?学习顺序应该怎样才更好?
我根据经验总结一下这样的学习顺序:
1:首先是前端;
虽然你是做PHP的,但是前端必须会。学前端方向的则更要精通了。总之前端跑不掉。前端的学习顺序这样:先html,css。不要很深入,如:h5,css3可以暂时放一下。然后进入js入门。接着jquery。然后html,css,js,jquery都会了之后再弄一些前端框架,如:bootstrap,amaze。最后是h5,css3。
2:前端和后端是一起学的,到了php这边。要从基础学起,然后是它涉及的编程思想。然后是数据库,数据库一开始不要学难的内容,如SQL优化,索引优化,主从复制这些。会基本的增删改查就行。
此时,前后端一起来做个小项目(基于数据库的对某个实体如书籍的增删改查的小功能模块),很多时候一个项目看似很复杂,其实数据表没多少张,很多是在PHP程序这边。当然数据表很多的那种,项目也不会简单起来;
3:开发了一个小系统之后,就可以学框架,然后学着用框架来继续改进这个小项目。
4:学开源系统,用开源系统来改进这个系统。
到这里你就知道项目开发的选择方案了,此时你已经把项目开发方案决策的内容学会了。用你认为最佳的方案来开发一个具有实际意义的项目并运营起来,并试着推广,来你系统中注册的会员会给你提各种需求。你自然会发现你还需要学的那些东西是什么了,如:注册功能,如登录功能,如QQ登录等,如:支付宝支付、微信支付等。如:更好的备份还原功能,方便的安装功能。当你的项目运营的不错了,会员自然越来越多,各种数据也会增多,你的项目会越来越慢,此时你再来关注数据库的优化,以及负载均衡,大数据这些。
用实际项目的需求和会员的各种需求去刺激你学还没学的东西,这里就会感觉到越来越有的放矢了。


推荐阅读