Zend Framework 1 - View 和 Response-Object 主体的区别

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

我正在学习使用 Zend Framework 1,但我不明白这两个元素之间的区别。 我研究了前端控制器获取请求对象并使用 routing/dispatching 进程发送响应对象的理论,其主体包含浏览器的 HTML 代码... 但是制作一个简单的 "helloZend" 应用程序时,我发现每次调用 ActionController 的操作时,他的视图(又名 HTML 代码)都会自动呈现。

从根本上说,响应 object 表示 HTTP 响应。因此,它主要关注 HTTP 响应 headers(状态代码、Content-type 等)和响应 body(在 HTML 页面请求的情况下浏览器,例如,浏览器最终将呈现的 HTML 标记)。这就是为什么 Response object 具有操纵 headers 和 body.

的方法的原因

视图 object 主要关注构建最终将进入响应 body 的内容。当然,View objects 可以用于许多其他目的;例如,从模板撰写电子邮件。但在 ZF1 应用程序以标准方式处理 HTTP 请求的情况下,来自视图的内容最终由框架放入响应 body 中。具体来说,一个视图 object 在 bootstrap 期间通常是 created/configured 并且它最终在控制器中提供给开发人员使用:

$this->view

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

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

数据在您的 view-script 中可用,它被呈现并添加到视图 object。

在请求处理管道的末尾,框架将视图的呈现传递到响应 object 的 body 并且响应知道如何在 [=25] 中呈现自己=] 方式,为客户端(通常是浏览器)提供他所期望的格式的有效负载。