网站开发属于 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 登录等, 如支付宝支付, 微信支付; 如: 更好的备份还原功能, 方便的安装功能. 当你的项目运营的不错了, 会员自然越来越多, 各种数据也会增多, 你的项目会越来越慢, 此时你再来关注数据库的优化, 以及负载均衡, 大数据这些.
用实际项目的需求和会员的各种需求去刺激你学还没有学的东西, 这里你就会感觉到越来越有的放矢了.
所以, 一个新手千万不要一来就用开源系统去开发项目, 虽然开发出来了, 但是后遗症在后面, 而且很大很多. 还是要从基础做起, 并按一定的学习顺序去学习, 否则效率很低下, 经常感觉学了很久, 看似什么都接触了, 但是一到开发项目的时候就是一头雾水, 无从下手. 丢下的东西迟早是要补回来的. 错误的学习顺序会让你事倍功半, 甚至会让你打道回府......
来源: http://www.qdfuns.com/article/39237/83b94af54475376a41bb59633f3cfeb2.html