- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ZendFrameworkMVC的结构
HYPERLINK /terryglp/articles/1775778.html Zend Framework MVC的结构
The Zend Framework MVC Architecture
一、概述:
In this chapter, we will cover the following topics:1. Zend framework MVC overview2. The Front Controller3. The router4. The dispatcher5. The Request object6. The Response object
?
二、详细介绍:
1、Zend Framework MVC overview
1)了解请求(REQUEST)的产生与处理过程
一个请求被产生,一个相应的响应就被返回。上面这个流程就是发生在前端控制器(Front Controller)内部,这个过程常常是在前端控制器(Front Controller)调用dispatch()方法是触发的,这个过程可以分解为下列12个小步骤:
1. 一个请求Request的产生(创建了一个Request Object对象);
2. 路由事件routeStartup触发; 3. 路由器Router开始处理这个请求,从中获取请求信息; 4. 路由时间routeShutdown触发,路由过程结束;
5. 派遣事件dispatchLoopStartup被触发; //派遣循环开始
6. 派遣preDispatch事件触发; 7. 派遣过程中调用动作控制器(Action Controller); 8. 动作控制器(Action Controller)将处理完成信息直接写入响应对象(Response Object); 9.派遣postDispatch时间被触发; //派遣循环结束
10. 检测派遣标志,即检查是否还有动作没有完成,如果有再次进入派遣循环(第6步);
11. 派遣事件dispatchLoopShutdown被触发;
12. 产生的响应Response被返回。
?
? 2、 The Front Controller--------前端控制器
1)介绍:前端控制器是MVC组建中的苦力,因为它要实例化对象、触发事件、建立默认的行为等,它的主要目的是处理所有进入应用的请求。前端控制器的设计模式被应用于不同的MVC框架中,我们在Zend Framework中指代的前端控制器(Front Controller)实际上是指Zend_Controller_Front类,因为该类实现了前端控制器的模式;另一定注意的是,前端控制器设计是单例模式(Singleton),这也就意味着它实现了单例设计模式,也就是仅仅只能有一个实例化的前端控制器,即我们不能直接实例化Front Controller,而是拿取一个:
$front = Zend_Controller_Front::getInstance();
?? 2)默认情况下,Front Controller负责实例化很多对象,并且是针对WEB应用的,即这些对象都是默认指定在HTTP环境下被实例化出来的,例如下表:
这个表显示出了创建对象的类型,抽象类abstract class是被用于实体类concrete class继承,实体类是被前端控制器调用并实例化使用的!!插件经纪人有些特别因为它与运行环境无关,即在HTTP环境下和在CLI环境下是一样的。默认情况下前端控制器有2个插件可用:a.Zend_Controller_Plugin_ErrorHandler;
b.Zend_Controller_Plugin_ActionStack.错误插件ErrorHandler默认是被注册的,可以通过前端控制器设置其参数noErrorHandler来取消:
$front-setParam(noErrorHandler,true);
Stack index是用于插件的调用时机,它越大这个插件就将在越后面执行!
默认情况下,前端控制器Front Controller也利用动作助手经济人(Action Helper Broker)注册了ViewRenderer Action Helper,我们可以通过noViewRenderer参数来禁止它:
$front-setparam(noViewRenderer,true);
3)使用前端控制器
[A]调用参数
调用参数可以被用于存储数据在前端控制器中,然后被传递到Action Controller、Router、Dispatc
您可能关注的文档
- U盘被写保护无法格式化的解决方法.doc
- v-t图像的应用.doc
- V-Ray各种常用材质的调整.doc
- VBA在水文整编合理性检查中的应用-投省局.doc
- vb函授练习题目1.doc
- VB关于ASCII码转换成16进制的问题.doc
- VB程序设计-时间间隔改进.docx
- VB编程【嵌套的if语句教案】.doc
- VB程序设计-石头剪刀布.docx
- VC6.0的打开和添加到工程不能工作问题.doc
- 2023年02月09日成都普尔伟业医疗科技有限公司乙级非密封工作场所建设项目.pdf
- 2023年02月09日德昌厚地稀土矿业有限公司大陆槽选厂40万吨年清洁生产扩能技改.pdf
- 2022年10月08日雅砻江流域水电开发有限公司两河口水电站水光互补一期项目送出工程及500kV汇集站.pdf
- 2022年11月15日眉山市特种设备监督新建X射线野外(室外)探伤项目.pdf
- 2025年01月09日四川鸿舰重型机械制造有限责任公司新增X射线装置室内探伤项目.pdf
- 2025年05月08日四川倍速检验检测有限公司新建X射线野外探伤项目.pdf
- 2025年01月17日天然气股份有限公司西南油气田分公司蜀南气矿西南油气田威远页岩气田自213井区五峰组~龙马溪组产能建设项目.pdf
- 2022年08月22日化工股份有限公司西南油气分公司产能建设及勘探项目部洛带气田产能建设项目(一期).pdf
- 2022年11月03日四川大学华西医院第一住院楼二三层改造核技术利用项目.pdf
- 2022年12月20日四川广发辐照科技有限公司新增工业电子(2022年)核技术利用项目.pdf
最近下载
- 钢筋混凝土薄壳结构设计规程.docx VIP
- 2024济南历城区中小学教师招聘考试真题及答案.docx VIP
- 潮州市烟草专卖局专卖执法资格测试考试试卷(烟草专卖法律知识科目).docx VIP
- TSZRCA 007-2023 机器人特种线缆专用铜箔丝材料技术规范.pdf VIP
- 存储基础知识培训.pptx VIP
- 多叶片微风风力发电项目可行性报告.pptx VIP
- TSZRCA 003-2023 机器人本体电源线缆技术规范.pdf VIP
- hopeVert300系列通用型变频器选型手册 - 禾望电气.PDF VIP
- 汽车零部件质量控制和检测先进技术.docx VIP
- 矿物绝缘电缆敷设技术规程 施工专业.pdf VIP
原创力文档


文档评论(0)