Zend framework处理一个http请求的流程分析

 更新时间:2010年02月08日 08:00:35   作者:   我要评论
Zend framework处理一个http请求的流程分析,有助于大家提高知识面。

zend framework 处理请求流程图

 

1, 首先是bootstrap过程,初始化程序里用到的资源

2, 创建一个Zend_Controller_Front实体,实现front controller模式,这个实体类会负责将http请求派遣到恰当的controller的action里。

3, Front controller会创建俩个对象来封装http请求和http回复,分别是Zend_Controller_Request_Http和Zend_Controller_Response_Http

4, Front controller会创建俩个对象来实现url寻路和派遣,分别是routing和dispatcher, 分别负责找到指定url应该执行的控制器和动作,和载入对应的程序文件并执行对应的方法。

5, 通过controller的plugin机制,Zend_Controller_Action_ViewRenderer会为controller的实体类创建一个view属性,这个view是一个Zend_View的实体对象。它还负责在controller action请求处理完成后,将相应的template文件render呈现到http response对象里。最后response对象的内容会由Front Controller输出到浏览器。

6, 在第五步中,虽然template文件是由ViewRender助手对象来定位的,但是是由Zend_VIew的一个成员函数执行的(include进这个template文件),所以在Controller里属性里view对象的所有属性和成员函数在template文件里都可以被使用。

 

这样一个http请求的生命周期就结束了,浏览器获得了内容。在controller的action给view指定要呈现的变量时,它一般会通过Zend_Db_Table与金沙国际官网交互,获得数据。

与金沙国际官网交互处理数据称为business logic, template文件里也会包涵简单的循环等逻辑,这个称为display logic。

在MVC实现中,Model负责处理business logic, View负责处理display logic,而Controller则负责协调这俩部分,从而Controller的代码应该尽量简洁,它只是作为一个agent存在的。

相关文章

  • PHP6 中可能会出现的新特性预览

    PHP6 中可能会出现的新特性预览

    PHP核心团队开发者Pierre Joye近日在官网上贴出了PHP6中可能会出现的新特性。之所以说是“可能会出现”,是因为目前PHP6项目还处于草案阶段,这些特性还只是一个想法,还需要讨论,随时都有可能变更
    2014-04-04
  • php实现水印文字和缩略图的方法示例

    php实现水印文字和缩略图的方法示例

    这篇文章主要介绍了php实现水印文字和缩略图的方法,结合完整实例形式分析了php实现水印文字添加与缩略图生成的相关步骤及操作技巧,需要的朋友可以参考下
    2016-12-12
  • PHP实现删除非站内外部链接实例代码

    PHP实现删除非站内外部链接实例代码

    一般在做网站系统的时候,出于优化等因素的考虑需要再添加文章的时候删除掉不是本站的链接,对于这一要求可以通过让PHP处理下文章内容,来达到文章外部链接的自动删除的效果。需要的朋友可以参考下
    2014-06-06
  • PHP下打开URL地址的几种方法小结

    PHP下打开URL地址的几种方法小结

    PHP中打开URL地址的几种方法总结,这里的函数主要用于小偷采集等函数。
    2010-05-05
  • php curl 获取https请求的2种方法

    php curl 获取https请求的2种方法

    这篇文章主要介绍了php curl 获取https请求的2种方法,本文给出设定为不验证证书和host、设定一个正确的证书二种常用做法的代码实例,需要的朋友可以参考下
    2015-04-04
  • php通过smtp邮件验证登陆的方法

    php通过smtp邮件验证登陆的方法

    这篇文章主要介绍了php通过smtp邮件验证登陆的方法,涉及php通过socket针对SMTP邮件服务器进行连接、读写、验证等相关操作技巧,需要的朋友可以参考下
    2016-05-05
  • php.ini中的request_order推荐设置

    php.ini中的request_order推荐设置

    这篇文章主要介绍了php.ini中的request_order推荐设置,需要的朋友可以参考下
    2015-05-05
  • php实现短信发送代码

    php实现短信发送代码

    这篇文章主要介绍了php实现短信发送代码的相关资料,需要的朋友可以参考下
    2015-07-07
  • PHP实现根据图片色界在不同位置加水印的方法

    PHP实现根据图片色界在不同位置加水印的方法

    这篇文章主要介绍了PHP实现根据图片色界在不同位置加水印的方法,涉及php使用MagickWand模块操作图片添加水印的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-08-08
  • 解析Linux下Varnish缓存的配置优化

    解析Linux下Varnish缓存的配置优化

    本篇文章是对Linux下Varnish缓存的配置优化进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论