【问题标题】:Is it necessary to have a view file with every controller action是否需要每个控制器操作都有一个视图文件
【发布时间】:2012-05-03 06:13:06
【问题描述】:

每当我使用 zf CLI 工具在 zend 框架控制器中创建新操作时,它都会创建相应的视图文件。但是,我不需要控制器中每个操作的视图文件。

如果我手动删除该视图文件,它会影响我的 project.xml 文件还是对我的项目有任何其他影响?

【问题讨论】:

    标签: zend-framework controller action


    【解决方案1】:

    如果您的操作不需要视图,那么您可以禁用它:-

    public function myactionAction()
    {
        $this->_helper->layout()->disableLayout();//to disable layout
        $this->_helper->viewRenderer->setNoRender(true);//to disable view
    }
    

    如果您想禁用整个控制器的视图/布局,则可以将上面的行放在控制器的 init() 方法中,如下所示:-

    public function init()
    {
        $this->_helper->layout()->disableLayout();//to disable layout
        $this->_helper->viewRenderer->setNoRender(true);//to disable view
    }
    

    完成此操作后,您可以安全地删除视图文件,而不会影响其他任何内容。

    更多详情,请访问Action Controller manual

    【讨论】:

      【解决方案2】:

      不,你不需要。

      自从我使用 Zend Framework 以来已经有一段时间了。但如果我没记错的话,这里有两个选择。

      1 - $this->_helper->viewRenderer->setNoRender(true); 这将停止呈现视图

      2- 您可以简单地做您需要做的事情,并在您的操作结束时调用exit()

      希望对你有帮助。

      干杯

      【讨论】:

      • 但我的问题不是关于渲染视图。我知道我可以跳过渲染部分。但是我是否需要保留该视图,或者我可以从视图中物理删除它,因为它永远不会被渲染。那么为什么它会首先出现呢?
      • 不需要的可以删除。但是你需要声明你不想渲染它或在它之前退出。
      • 酷。如果您认为此处的任何一个答案对您有所帮助,则应标记为答案。是时候提高你 50% 的回答率了,其他人会停止回答你的问题。只是一个提示:P
      • 哈哈!!我试图。但stackoverflow让我等1分钟。 !! :P
      猜你喜欢
      • 2014-11-26
      • 2017-07-05
      • 1970-01-01
      • 2019-03-03
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多