yii中view.php和_view.php之间的区别

时间:2012-12-31 08:41:55

标签: php yii

Yii中view.php和_view.php有什么区别?

我应该使用_view或Yii中的视图?

通过render()或renderPartial()我可以渲染两者吗?在性能或其他方面没有问题?

1 个答案:

答案 0 :(得分:7)

它们只是文件名,但默认情况下view.php与render()一起使用,_view.php与renderPartial()一起使用(在默认的Yii Web应用程序中)。

因此,如果我们坚持这个约定,render()呈现的任何视图都将是“普通”文件名,而使用renderPartial()呈现的任何内容都将具有前缀_underscore。

以下是render和renderPartial(来自here)之间的区别:

render() 通常用于呈现与用户在应用程序中看作“页面”的视图相对应的视图。它首先渲染您指定的视图,然后渲染当前控制器操作的布局(如果适用),将第一个渲染的结果放入布局中。然后它执行输出处理(此时意味着自动插入任何必要的<script>标签并更新动态内容),最后输出结果。

renderPartial() 通常用于呈现网页的“片段”。与render()的主要区别在于此方法将渲染的结果放在布局中。默认情况下,它也不执行输出处理,但您可以使用$processOutput参数覆盖此行为。