在 Zend Framework MVC 下禁用 view 或者 layout
时间:2010-02-25 来源:yueming
摘要: Zend Framework 内置了 MVC 开发架构,功能非常强大,其中 Zend_Controller 在使用的时候会根据 module/controller/action 自动解析对应的 view ,如果找不到就会抛错;但是有时候我们并不想使用 view 层,这时候我们就需要禁用 view 或者 layout 了,本文就是对禁用 view 或者 layout 所做的总结。
小标题:
在此 action 执行的时候将不会使用 Zend_Layout 。
在此 action 执行的时候将使用名为 other 的 layout 。
- FONT color=#0066cc>在 Zend_Controller 中禁用 view
- 在 Controller 中禁用或改变 layout
在 Action 级别禁用 view:
PHP:
- <?php
- class FooController extends Zend_Controller_Action
- {
- public function barAction()
- {
- $this->_helper->viewRenderer->setNoRender();
- }
- }
- ?>
在执行当前 action 的时候会不会展示 view .
在 Controller 级别禁用 view:
PHP:
- <?php
- class FooController extends Zend_Controller_Action
- {
- public function init()
- {
- $this->_helper->viewRenderer->setNoRender();
- }
- }
- ?>
在执行当前 controller 下的所有 action 的时候都不会展示 view .
全局级别禁用 view:
PHP:
- <?php
- Zend_Controller_Front::getInstance()->setParam('noViewRenderer', true);
- ?>
在整个程序的执行过程中都不会展示 view .
禁用 layout
- <?php
- class FooController extends Zend_Controller_Action
- {
- public function barAction()
- {
- $this->_helper->layout->disableLayout();
- }
- }
- ?>
在此 action 执行的时候将不会使用 Zend_Layout 。
改变 layout
- <?php
- class FooController extends Zend_Controller_Action
- {
- public function barAction()
- {
- $this->_helper->layout->setLayout('other');
- }
- }
- ?>
在此 action 执行的时候将使用名为 other 的 layout 。
相关阅读 更多 +