名称

Yaf_Controller_Abstract::display

(Since Yaf 1.0.0.5)

public boolean Yaf_Controller_Abstract::display( string  $action ,
                                                 array  $tpl_vars = NULL );

渲染视图模板, 并直接输出渲染结果

[注意] 注意
此方法是对Yaf_View_Interface::display的包装
参数
$action

要渲染的动作名

$tpl_vars

传递给视图引擎的渲染参数, 当然也可以使用Yaf_View_Interface::assign来替代

返回值

成功返回TRUE,失败返回FALSE

例子

例 11.54. Yaf_Controller_Abstract::display 的例子

     
     <?php
     class IndexController extends Yaf_Controller_Abstract {
        public funciton init() {
           /* 首先关闭自动渲染 */
           Yaf_Dispatcher::getInstance()->disableView();
        }

        public function indexAction() {
            $this->initView();

            /* 自己输出响应 */
            $this->display("test.phtml", array("name" => "value"));
        }
     }
     ?>
     
    


模板变量的覆盖与模板示例

通过$tpl_vars传入的变量只对本次渲染生效, 并且会覆盖通过Yaf_View_Interface::assign分配的同名变量. 对于上面的例子, 对应的模板可以写成:

例 11.95. Yaf_Controller_Abstract::display 模板的例子

<!-- application/views/test.phtml -->
<ul>
<?php foreach ($products as $product) { ?>
    <li><?php echo $product; ?></li>
<?php } ?>
</ul>