Zend Framework 1-视图和响应对象之间的差异';的身体


Zend Framework 1 - difference between View and Response-Object's body

我正在学习使用Zend Framework 1,但我不理解这两个元素之间的区别。我从理论上研究了Front Controller获取请求对象,并使用路由/调度过程发送响应对象,其主体包含浏览器的HTML代码。。。但是,在制作一个简单的"helloZend"应用程序时,我发现每次调用ActionController的操作时,他的视图(也称为HTML代码)都会自动呈现。

从根本上讲,Response对象表示HTTP响应。因此,它主要关注HTTP响应标头(状态代码、内容类型等)和响应主体(在浏览器请求的HTML页面的情况下,例如浏览器最终将呈现的HTML标记)。这就是为什么Response对象具有用于操作标头和正文的方法。

View对象主要关注构建最终将进入响应主体的内容。当然,View对象可以用于许多其他用途;例如,根据模板撰写电子邮件。但是,在ZF1应用程序以标准方式为HTTP请求提供服务的情况下,来自视图的内容最终会被框架放置到响应主体中。具体来说,View对象通常在引导过程中创建/配置,最终在控制器中为开发人员提供:

$this->view

在您的控制器中,当您使用将数据添加到视图中时

$this->view->someKey = 'someValue';

该数据在视图脚本中可用,该脚本将被渲染并添加到view对象中。

在请求处理管道的末尾,框架将视图的呈现传递到Response对象的主体中,并且Response知道如何以符合HTTP的方式呈现自己,从而为客户端(通常是浏览器)提供按预期格式设置的有效负载