Yii中view.php和_view.php有什么区别?
我应该使用_view或Yii中的视图?
通过render()或renderPartial()我可以渲染两者吗?在性能或其他方面没有问题?
答案 0 :(得分:7)
它们只是文件名,但默认情况下view.php与render()
一起使用,_view.php与renderPartial()
一起使用(在默认的Yii Web应用程序中)。
因此,如果我们坚持这个约定,render()
呈现的任何视图都将是“普通”文件名,而使用renderPartial()
呈现的任何内容都将具有前缀_underscore。
以下是render和renderPartial(来自here)之间的区别:
render()
通常用于呈现与用户在应用程序中看作“页面”的视图相对应的视图。它首先渲染您指定的视图,然后渲染当前控制器操作的布局(如果适用),将第一个渲染的结果放入布局中。然后它执行输出处理(此时意味着自动插入任何必要的<script>
标签并更新动态内容),最后输出结果。
renderPartial()
通常用于呈现网页的“片段”。与render()
的主要区别在于此方法不将渲染的结果放在布局中。默认情况下,它也不执行输出处理,但您可以使用$processOutput
参数覆盖此行为。