到另一个应用程序中。
框架专门用于为这些常用元素(数据库交互、表示层、应用程序逻辑)提供结构,以
便您可以花费更少的时间来编写数据库接口代码或者表示层接口,而花费更多的时间来
编写应用程序本身。以这种方式分解应用程序,这种架构被称为模型 -视图-控制器
(Model-View-Controller,MVC)。模型 指数据,视图 指表示层,而控制器 指应用程
序逻辑或业务逻辑。对 MVC
的完整讨论超出本文的范围,但是鼓励您研究 MVC 并深入
了解 MVC 的一切。
选择框架
每种语言几乎都有若干个框架可用。选择刚好满足需求的框架可能有点难,尤其是当
您以前未曾使用过任何一个框架时更是如此。虽然熟悉此领域的同事和可信赖的
developerWorks 作者提供的建议和评价会十分有帮助,但是选择任何框架时实际上应
当遵循的惟一一个指导原则是:框架为每个人 节省的时间和精力越多越好。如果一个框
架工作得很好但是会导致产生大量支持调用,那就不是一个优秀框架。如果一个框架易于
支持,但是起到的阻碍作用大于辅助开发作用,那也不是一个优秀框架。如果一个框架十
分优雅,但是会导致出现支持问题和开发问题,那么这个框架也是没有用的。
选择项目框架时,考虑从上到下所有相关人员的意见,并且在评估框架时,考虑到
对其他各方的影响。
当考虑采用一个框架时,请进一步审视您的应用程序,并思考该应用程序是不是需
要一个框架。框架不是必需品。即使不使用框架,也可以继续编写企业应用程序。框架会对
项目有帮助么?它是否会节省每个人的时间和精力?您的应用程序在框架中是否会执行
得更好?它是否将提供所缺乏的稳定性?如果上面任意一个问题的答案为是,那么您应
当考虑采用框架。如果所有这些问题的答案都为否,那么使用框架只会把事情变复杂。
可惜,本文的长度和范围限制不允许全面介绍所有可用的 PHP 框架。本系列主要介
绍三个框架:
Zend 框架
symfony
CakePHP
“
”
选择这些框架的原因有很多,但可能都属于这几类因素: 您老板听说过的框架 、
“
”
“
”
某些人已经安装过的框架
或者
曾经谈论过的框架
。我鼓励您研究
CodeIgniter
、
Seagull
、
Web Application Component Toolkit