Yii 视图渲染过程

时间:2021-10-18 20:00:35

render 与 renderPartical (CController)


1.renderPartical执行下列函数

 (1).getViewFile,根据视图文件的名称,获取文件的完整路径

 (2).renderFile,根据路径获取文件内容(required 加载) ,执行下列函数

      1>,如果存在CViewRender实例,从CviewRender中获取内容(CViewRender 主要实现,视图文件的保存,主要保存在runtime文件中),否则调用  renderInternal(CBaseController)         获 取内容,并通过extract函数,替换内容中的变量

 (3)输出renderFile的内容,或者返回

2.render

  该方法实现过程与renderPartical相似,主要区别是,render需要加载布局文件,布局文件中包含变量$content,$content=>renderPartical返回的文件内容

 $output=$this->renderFile( $layoutFile,array( 'content'=>$this->renderPartial( $view,$data,true ) ),true );