新手学PHP网站开发的最佳学习顺序

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