简单MVC框架知识


编	写:袁	亮
时	间: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语法的,性能也差