使用$ this的效果效果 - >渲染();在开发布局的同时?

时间:2011-10-20 11:23:31

标签: zend-framework zend-layout

很多时候,有必要将常用的一些部分(如横幅,页脚)分隔到单独的文件中,然后将此部分包含在$this -> render('banner.phtml')中。

如果广泛使用它,它的性能成本会有多高?

2 个答案:

答案 0 :(得分:1)

我认为它对性能没有某种不良影响。我正在研究非常大的产品,并且在我的项目中广泛使用了$this->render()来处理各种事情。如果您没有共同的布局,那么您必须依赖此功能。但是如果你在整个项目中有一个共同的布局,那么就没有必要这样做了。所以不要担心使用render功能。

答案 1 :(得分:1)

查看Zend_View_Abstract的代码应该没问题就可以进行多次调用。 render()基本上可以:

  • 查找脚本。每个脚本补丁的一个操作。
  • 运行由ob_start()ob_get_clean()封装的文件。不应导致任何性能问题。
  • 在输出上运行每个过滤器。

除非你没有添加数百个scriptpaths或filteres,否则性能应该没问题。但请注意,特别是嵌套的render()调用需要更多内存(由于可能堆叠的输出缓冲区)。

但是你当然希望尽可能多地缓存 - 使大多数render() - 调用只运行一次;)。