日期:2014-05-20  浏览次数:20989 次

【转】zend framework和smarty的区别
框架就像一个大楼的地基, 无论大楼怎么盖,打造地基的方法永远都是类似的.
在我们进行程序开发的过程中, 你会发现每个程序之间都要有很多类似的东西和可以重用的东西,如果你每个项目过后都把这些类似的东西积累起来, 那么这些代码可以称为库, 当库越来越强大, 甚至连程序结构都可以重用的时候,你就可以叫他框架了.
模板引擎, 你可以理解成施工队里刷油漆的, 他们是专业刷油漆的, 盖楼的不用管油漆怎么刷, 刷油漆的也不关注楼是怎么盖的.

其实模板引擎的主要作用还是将逻辑和显示进行分离, 最初可能是为了让程序员和美工更好的进行配合, 既然初学者,我想你经常会把php代码和html写到一起, 你自己是可以看懂的, 但是美工不一定看得懂, 他们可能只能看懂html和css,再者说如果美工在混合代码里加了复杂的css或者js你也一样会看不懂, 这样就给程序开发带来了很大的困难. 所以才有了模板引擎,它将逻辑和显示完全分离, 程序员只需要关注逻辑, 在程序的最后将数据准备好然后传递给模板, 而美工只要修改模板而不需要考虑程序逻辑,模板技术在团队开发中是经常使用的
============================================================================================
smarty 仅是一个模版引擎,做的事情,就是把数据结合模板文件,渲染出来。
个人觉得smarty 语法古怪,硬是把很简单的事搞得很复杂。网上大把的模版类可以拿着用。当然做为一整套的体系的东西而言smarty是做的不错的,可惜就是不好用。
  
框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。 

  为什么要用框架?
因为软件系统发展到今天已经很复杂了,特别是服务器端软件,设计到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。
  框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。   
像php 比较常用的框架有 zend frameword thinkphp ci 之类