编 写:袁 亮 时 间:2015-07-13 说 明:简单MVC框架知识 一、框架的优缺点 1、优点: 1.1 合作的人越来越多,使用框架,可以更好的划分不同部分,合作更方便 1.2 有些东西,不需要重复造轮子,直接使用别人做好的框架,比如rewrite、数据库操作、缓存等等 1.3 接受新项目,可以更快的上手,如果大家都按框架的要求来开发 1.4 安全性较高,比起裸写程序,很多框架,都对常规安全性问题进行了处理 2、缺点: 2.1 除了学习php之外,还需要学习框架的相关知识,更可怕的是大家都没花这个时间去学习, 导致使用了框架,但都没按框架的规则来写,维护这种项目就是个悲剧 2.2 因为框架开源,而且太多人使用,因此会出现一些框架本身的漏洞,很容易被人用机器扫描漏洞,造成安全隐患 2.3 性能比直接写会低一些,不过这个性能差距,可以忽略 二、MVC框架是什么? 1、MVC是为实现代码组织的一种策略,实现框架有很多种,MVC是使用最广的(MTV,MVP,CBD,ORM等) 2、M:model层,可以理解为是我们的类库,函数库,我们封装的一些工具 V:view层,显示层,最终展示给用户看的内容,由这一层决定 C:controller层,控制层,决定调用哪些model,进行哪些判断,获取什么数据,加载什么样的显示view显示 三、公司常用php框架(都是MVC模式的) 1、CodeIgniter 电商在用,轻量级,感觉还行 2、CakePhp 博客后台,ask,圈圈等很多项目在用,轻量级,挺不错的,只是我们很多老项目用错了,必须掌握 3、ThinkPhp 用的不多 4、Discuz 快速搭建论坛的首选,城市站等在用 5、Zend 用户中心,太重了,而且用户中心用的很乱,一般项目,不要选择这个 6、公司内部框架,博客,圈圈,宝宝主页,试用等一大批项目在用 四、附录: 1、模板语言smarty(非框架),了解即可,没必要使用 这个主要就是为了让前端不用学php代码,就可以直接写view层来设计的 但我个人觉得,学smarty的语法,并不比学php的简单语法更简单,完全没意义 还增加后端学习smarty语法的成本,并且最终还是要把smarty语法转出php语法的,性能也差