关于我们
公司博客
- 2011湖北互联网精英联谊会图片播报
- 我公司出席2011武汉市服务外包行业协会、武汉市软件行业协会联合年会
- 我公司成功为国外客户交付Drupal项目
- 伊锐数码参加“HTML5技术分享沙龙”活动
- 伊锐数码CMMI3认证工作正式启动
- 伊锐数码成为信步东方IT服务提供商
- 公司参加“云计算时代的过程改进及武汉市服务外包政策宣讲会”
- 伊锐数码助力客户走向移动互联网!
- 伊锐数码交付 Facebook 应用程序
- 伊锐数码作为软件外包提供商出席上海世博会活动
- 如何将大型 Magento 站点到 1.4以上版本 (公司英文博客)
- 关于 Zend Server 的一些思考 (公司英文博客)
- 如何整合 Zend Studio 及 SVN (公司英文博客)
- Magento 能支持 Amazon S3 吗?
- 最近解决的一个奇怪的 Joomla! 下图片显示问题
采用 Zend Framework 开发的房地产交易平台
项目网址: http://www.517mf.cn
Zend Framework 是由 Zend 公司推出的基于 PHP 语言的开发框架,旨在帮助开发人员能够高效、迅速地开发满足企业业务的应用,并且应用内部保持良好的层次结构。
此次的房地产交易平台项目,我们就采用了Zend Framework框架技术对房地产交易平台进行了开发。
Zend Framework框架要求开发人员遵循MVC的开发模式,什么是MVC开发模式?
MVC由三个英文单词的首字母组成,分别为Model(模型)、View(视图)和Controller(控制器)
Model在应用中,可以看作是数据存储层,负责对底层数据的各项操作,通常这类操作,不会涉及到业务逻辑及特定的数据格式,以保证这些数据能 被其他各个控制器调用,减少了重复开发的工作。
View在应用中,可以看作是前端表示层,负责对用户请求的数据及人机交互等界面的呈现。简单的概括,就是用户所看到的前端的网页页面。
Controller在应用中,可以看作业务逻辑层,负责处理各种业务逻辑及业务规则,是Model及View的中间纽带,是整个MVC模式的 核心。
在Zend Framework的MVC模式中,有一个最为核心的控制器,称为FrontController(前端控制器),它负责判断用户请求的页面,并通过 Zend Framework内 部的Router(路由器)的路由规则,将用户的请求Dispacth(分发)到对应的Controller,接到FrontController的 Dispatch通知,对应的Controller则开始通过调用Model来获取或处理业务中所要涉及的数据,处理完毕后,将这些数据传递给View, 并开始Render(渲染)View,最后带有逻辑规则的页面便呈现给了用户。
由上述开发模式,我们可以发现,使用这种开发模式,使得无论是程序代码层次、业务逻辑层次,都非常清晰。代码的重用性得到提高。对于参与项目二 次开发的开发人员而言,不必迷茫于庞大的函数库,以及可能混杂于页面中的业务逻辑关系。修改哪一个页面,只需找到其相应的Controller,修改其中 的业务逻辑代码,即可迅速地对业务逻辑进行调整,而不会影响到其他页面的业务逻辑,因为Zend Framework的MVC模式推荐以页面为单位,将Controller进行划 分,即每一个页面,都有一个Controller、View和Model。
以我们房地产交易平台中,房源搜索为例,介绍一下Zend Framework的MVC的具体工作模式。
首先在房源搜索对应的Controller中,有一个默认的方法,该方法的功能为“显示用户不加入任何搜索条件所呈现的页面”。而这个页面中, 所呈现的数据,并不是这个Controller具体负责抽调的,而是该Controller负责通知对应的Model,在数据库中进行查找,Model将 查找出来的结果,以数组的方式返回给Controller,Controller再将数组传递给View,View在进行呈现。
当用户点击了某一项搜索条件之后,这个搜索条件将会最先传递到Controller,Controller会对参数进行分析,进行一定的业务逻 辑处理,随后通知Model,让Model去按用户选择的搜索条件在数据库中进行数据检索,检索完毕后,再将数据以数组方式返回给 Controller,Controller再传递给View,View对数组内的数据进行拆分,于是用户就能看到经过筛选过的搜索结果了。
从实际的工作流程中,我们明显的发现数据流是按照一定的规范和约定进行流动的,View与Model间,没有数据的传递,任何数据、参数的传 递,均由Controller统一调配处理,如此清晰的层次,确保了MVC中各个模块井然有序的在自己负责的业务范畴内工作,对于程序的错误,也能进行迅 速、精确的定位。
使用Zend Framework的MVC模式进行开发的项目,我们遵循以下项目流程:
1、PM对业务规则进行收集及明确、项目需求及特性的确定。
2、PM划分项目的各个Build(内部标号),对当前Build内,各个需实现的功能模块及其描述,在Clocking IT系统中逐一输入,并根据工作职 责,指派给不同的项目人员。同时,建立一个Bug & Fix的Milestone(里程碑),对于项目开发中,或后期测试阶段暴露出来的各种问题及bug(程序漏洞),进行跟踪管理。
3、PM画出各个页面的设计草图,网页设计师根据设计草图开始设计页面,并对已完成的工作,在Clocking IT系统中进行及时更新。
4、程序开发人员,根据项目需求,划分出项目中的公共模块及非公共模块,根据模块的权重,逐一进行开发,对已完成的工作,在Clocking IT系统中进行 及时更新,通过SVN系统进行源码管理。
5、PM每天查看Clocking IT中,跟踪各个模块具体实施的进度,并根据项目结项日期,对在本Build内来不及完成的功能模块,向上汇报,得到批复 之后,移至下一个Build中实现。
6、页面嵌套,将开发完毕的程序与静态设计页进行嵌套。
7、Alpha测试,测试小组对项目进行内部测试,测试结果反馈至Clocking IT系统中的Bug & Fix中,PM根据它,再指派给具体修正人员进行项目修正。
8、Beta测试,较大规模的线上测试,测试小组根据Alpha测试反馈在Bug & Fix中的条目,重点进行再测。
9、各项规范的最后检查,如页面Title标签、页面关键字、统计代码、页面编码等。
10、项目上线。
11、项目小组开始研讨并部署下一个Build的相关工作。






