2

我不明白什么是“渲染视图”。我正在阅读 Zend Framework 手册,这个术语有很多用法。

自动渲染视图:

这个助手负责将视图对象注入控制器,以及自动渲染视图。

禁用视图的渲染:

您还可以简单地禁用单个视图的渲染

render()呈现视图脚本。

render() 渲染视图脚本。

在子目录中呈现该模板

为 $action 传递一个值将在 /[controller]/ 子目录中呈现该模板。

等等。

我找到了render()方法。我实际上有许多组件类的Zend_Controller方法render()。但无论如何,他们最后都只打电话给Zend_View_Abstract班上的那个。在它的实现中我唯一能看到的是,它似乎只是将 html-script 放入输出缓冲区:

public function render($name) {

        // find the script file name using the parent private method
        $this->_file = $this->_script($name);
        unset($name); // remove $name from local scope

        ob_start();
        $this->_run($this->_file);

        return $this->_filter(ob_get_clean()); // filter output
    }

不幸的是,没有实现该_run()方法,我不知道它必须做什么,如何在范围中包含脚本。这就是包含 - 的意思include_once("/myScritp.php")吗?

/**
 * Use to include the view script in a scope that only allows public
 * members.
 *
 * @return mixed
 */
 abstract protected function _run();

那么“渲染视图”是什么意思呢?只是为了包含脚本并将其放入输出缓冲区并在某个变量(return ob_get_clean())中获取它?

4

4 回答 4

4

View 是 MVC 框架的一部分,这就是 Zend。将视图视为用户的输出。从某种意义上说,控制器处理动作和路由,而模型主要处理数据库交互。视图设置变量并在页面呈现时将它们发送到 HTML 输出。

因此rendering a view,MVC框架已经处理了控制器中的数据并在模型中完成了后端工作,然后将这些数据发送到视图以输出给用户。

于 2012-06-27T19:22:22.287 回答
1

Zend 框架基于 MVC 设计模式,代表模型视图控制器。视图是表示部分,包括 html、javascript、css 或任何其他美学。

渲染视图意味着向用户或浏览器显示视图,例如 html 部分。假设您有一个用于站点“关于”页面的控制器,现在从您的控制器中,您将呈现“关于”视图,这意味着在浏览器中显示该页面以供用户查看,否则如果您不这样做,用户将只看到空白页面:)

把它想象成echohtml/css/js 到浏览器。

于 2012-06-27T19:20:52.383 回答
0

render只是意味着发射。打印。回响。写入某个源(可能是标准输出)。

于 2012-06-27T19:21:17.477 回答
0

比如说,我们正在谈论 HTML:

渲染是使用应用程序中的实时数据填充模板、替换占位符和简单逻辑(如 if-else 语句或循环)生成有效 html 文件的过程。

于 2012-06-28T14:31:38.810 回答