background image

到另一个应用程序中。

框架专门用于为这些常用元素(数据库交互、表示层、应用程序逻辑)提供结构,以

便您可以花费更少的时间来编写数据库接口代码或者表示层接口,而花费更多的时间来

编写应用程序本身。以这种方式分解应用程序,这种架构被称为模型 -视图-控制器

(Model-View-Controller,MVC)。模型 指数据,视图 指表示层,而控制器 指应用程

 

序逻辑或业务逻辑。对 MVC 

 

的完整讨论超出本文的范围,但是鼓励您研究 MVC 并深入

 

了解 MVC 的一切。

选择框架

每种语言几乎都有若干个框架可用。选择刚好满足需求的框架可能有点难,尤其是当

您以前未曾使用过任何一个框架时更是如此。虽然熟悉此领域的同事和可信赖的 

developerWorks 作者提供的建议和评价会十分有帮助,但是选择任何框架时实际上应

当遵循的惟一一个指导原则是:框架为每个人 节省的时间和精力越多越好。如果一个框

架工作得很好但是会导致产生大量支持调用,那就不是一个优秀框架。如果一个框架易于

支持,但是起到的阻碍作用大于辅助开发作用,那也不是一个优秀框架。如果一个框架十

分优雅,但是会导致出现支持问题和开发问题,那么这个框架也是没有用的。

选择项目框架时,考虑从上到下所有相关人员的意见,并且在评估框架时,考虑到

对其他各方的影响。

当考虑采用一个框架时,请进一步审视您的应用程序,并思考该应用程序是不是需

要一个框架。框架不是必需品。即使不使用框架,也可以继续编写企业应用程序。框架会对

项目有帮助么?它是否会节省每个人的时间和精力?您的应用程序在框架中是否会执行

得更好?它是否将提供所缺乏的稳定性?如果上面任意一个问题的答案为是,那么您应

当考虑采用框架。如果所有这些问题的答案都为否,那么使用框架只会把事情变复杂。

 

可惜,本文的长度和范围限制不允许全面介绍所有可用的 PHP 框架。本系列主要介

绍三个框架:

Zend 框架

symfony

CakePHP

选择这些框架的原因有很多,但可能都属于这几类因素: 您老板听说过的框架 、

”  

  “

某些人已经安装过的框架

或者

曾经谈论过的框架

。我鼓励您研究

 

CodeIgniter

Seagull

Web   Application   Component   Toolkit