Zend framework setNoRender
来源:互联网 发布:java设计模式 csdn 编辑:程序博客网 时间:2024/06/06 12:29
Zend framework 捕获视图渲染结果(非直接echo)
时间: 2009-11-10 分类: 程序设计 查看: 71 标签: PHP, Zend, Zend Framework, 框架 0 条评论
<?php
class AccountController extends Zend_Controller_Action{
/**
* 视图渲染前置方法
*
*/
public function preDispatch(){
//禁止所有的方法自动渲染视图
$this->_helper->viewRenderer->setNoRender();
}
public function loginAction(){
//禁止本方法自动渲染视图
//$this->_helper->viewRenderer->setNoRender();
$layout = new Zend_Layout();
$layout -> setLayoutPath(APPLICATION_PATH."/views/layouts");
$layout->content=$this->view->render(/'account/login.phtml/');
$layout->setLayout(/'login/');
echo $layout->render();
}
}
关键在这里:
$this->view->render(/’path/to/test.phtml/’);
$this->view是 Zend_View的一个对象变量,
等价于:
$view = new Zend_View();
echo $view->render(/'test.php/');
如果没有禁用视图自动渲染,那么会多渲染一个视图,而且如果模版文件不存在,那么会报错,有时候我们要动态输出ajax或者其他内容,并不希望自动渲染视图,那么就需要关闭视图渲染助手的自动渲染,官方推荐的方法是
$this->_helper->viewRenderer->setNoRender();
意思是告诉视图渲染者(助手),这个方法就不必要自动渲染了。
禁用自动渲染视图之后,可以通过echo $this->render();或者echo $this->_helper->viewRenderer->render();来输出视图渲染。
推荐用echo $this->render();
学习zend framework很辛苦,博大精深,希望大家不要胆怯,勇敢去探索未知的世界。总有一天可以拿下它
- Zend framework setNoRender
- zend framework
- Zend Framework
- Zend Framework
- zend framework,,,,,
- Zend frameWork
- zend framework
- zend framework
- zend framework
- Zend Framework
- zend studio + zend framework
- Zend framework简介
- Zend Framework 入门教程
- Zend Framework and Mysql
- Zend Framework-Zend_Controller入门
- Zend Framework-Zend_View简介
- Zend Framework 指南
- zend framework学习小结
- IE8中调试VS2003一般問題解決
- ORACLE hint提示优化SQL
- No action instance for path /* could be created(
- Architectural Styles and the Design of Network-based Software Architectures
- [转]oracle-merge用法详解
- Zend framework setNoRender
- Ubuntu 命令技巧
- zencart 细节图显示 问题
- Qt: Window, Linux动态链接库的分析对比
- OGC标准介绍 10
- 最后一门考试啦
- 概述Linux系统的驱动框架及驱动加载
- Oracle中tab和dual的区别
- Windows XP 语言栏丢失