网站开发属于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,以及其他框架和系统各自的模板解析引擎。
从综合上来看:1:功能上来分,有登录模块、注册模块、后台模块、文章模块、商品模块、备份还原模块、身份验证接口等等。
2:从应用上来看,有各种第三方接口,如:QQ登录接口、支付接口、手机短信接口、身份证验证接口等等。
3:从实际出发项目上来看,PHP又衍生出很多的框架,如:Laravel,TP,YII,CI,以及开源系统,如:PHPCMS,Discuz,Ecshop。到你开发项目的时候,自然就会有很多种选择了。如直接原生态采用面向过程的方式开发,如基于某个框架开发,如用开源系统开发。比如要做个论坛,很多人选择的是Discuz开发,但是使用了几个月,发现要开发一个新的功能模块(Discuz里面没有的)就要面对298张数据表,头开始大了。
4:从项目优化来看有:负载均衡、集群、大数据处理。
那么,面对这么多的内容,到底怎么学才好呢?学习顺序应该怎样才更好?
我根据经经验总结一下这样的学习顺序:1:首先是前端
虽然你是做PHP的,但是前端必须会。学前端方向的则更要精通了。总之前端跑不掉。前端的学习顺序是这样:先html、css。不要很深入,如h5,css3可以暂时放一下。然后进入js入门,接着jquery,然后html,css,js,jquery都会了之后再弄一些前端框架,如:bootstrap,amaze.最后是h5,css3。
2:前端和后端是一起学的,到了php这边。要从基础学起,然后是它涉及的编程思想。然后是数据库,数据库一开始不要学难的内容,如SQ优化,索引优化,主从复制这些。会基本的增删改查就行。
此时,前后端一起来做个小项目(基于数据库的对某个实体书籍的增删改查的小功能模块),很多时候一个项目看似很复杂,其实数据表没多少张,很多是在PHP程序这边。当然数据表很多的那种,项目也不会简单起来。
3:开发一个小系统之后,就可以学框架,然后学着用框架来继续改进这个小项目。
4:学开源系统,用开源系统来改进这个系统。
到这里你就知道项目开发的选择方案了,此时你已经把项目开发方案决策的内容学会了。用你认为最佳的方案来开发一个具有实际意义的项目并运营起来,并试着推广,来你系统中注册的会员会给你各种需求。你自然会发现你还需要学的那些东西是什么了。如注册功能,如登录功能,如QQ登录等,如支付宝支付、微信支付;如:更好的备份还原功能,方便的安装功能。当你的项目运营的不错了,会员自然越来越多,各种数据也会增多,你的项目会越来越慢,此时你再来关注数据库的优化,以及负载均衡,大数据这些。
用实际项目的需求和会员的各种需求去刺激你学还没有学的东西,这里你就会感觉到越来越有的放矢了。所以,一个新手千万不要一来就用开源系统去开发项目,虽然开发出来了,但是后遗症在后面,而且很大很多。还是要从基础做起,并按一定的学习顺序去学习,否则效率很低下,经常感觉学了很久,看似什么都接触了,但是一到开发项目的时候就是一头雾水、无从下手。丢下的东西迟早是要补回来的。错误的学习顺序会让你事倍功半,甚至会让你打道回府......