通常在我们利用ZF实现php的mvc时,最关键的地方当然是Controller类的各种action方法,在action方法中,我们确定及输出内容. 在类 abstract class Zend_Controller_Action 中的dispatch方法你可以发现这一行 $this->$action(); 那么如何确定及输出内容呢,就是进行render了,不过这个render却是有好几个的,下面列出这几个情形 1<?php 2class IndexController extends Zend_Controller_Action 3{ 4 public function contactAction() 5 { 6 //$this->render(“index”); 7 //$this->render(); 8 //$this->renderScript(“sidebar.phtml”); 9 10 11 //$this->_helper->viewRenderer(“sidebar”); 12 13 //$this->view->render(“sidebar.phtml”); 14 //$this->view(“sidebar”); 15 16 } 17} 18?> 总结下来,似乎就是这三中render了(欢迎补充) 1.自身render 先看第一种 //$this->render(“index”); //$this->render(); //$this->renderScript(“sidebar.phtml”); 这是直接使用Zend_Controller_Action类的render方法 第一句是render了另一个action所对应的视图(看清了 是render那个action对应的视图 而不是执行那个action!) 第二句式render本action对应的视图,这个有什么意义呢(因为很多情形你看不到这个写法的),这个下面再说. 第三句是render特定的视图文件,这里你可能认为前两个方法实际是调用了这个renderScript,其实不是如此. 下面就阐述一下.顺便解释第二句的原因. Zend_Controller_Action类的render方法中其实是有两个分支的 如下render函数代码 [...]
Archives
- May 2011
- April 2011
- February 2011
- December 2010
- November 2010
- October 2010
- August 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
Links
Recent Comments
