Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework 如何设置contextSwitch以生成csv文件_Zend Framework - Fatal编程技术网

Zend framework 如何设置contextSwitch以生成csv文件

Zend framework 如何设置contextSwitch以生成csv文件,zend-framework,Zend Framework,在我的controllerinit方法中 public function init() { //initialise the context switch action helper $this->_helper->getHelper('contextSwitch') ->addContext('csv', array('suffix' => 'csv',

在我的controllerinit方法中

public function init()
{
    //initialise the context switch action helper
    $this->_helper->getHelper('contextSwitch')
                  ->addContext('csv', array('suffix' => 'csv',
                                            'headers' => array(
                                                'Context-Type' => 'application/csv',
                                                'Context-Disposition' => 'inline; filename="fooo.csv"',
                                                'Pragma' => 'no-cache',
                                                'Expires' => '0',
                                            )))
                  ->addActionContext('stockreport', 'csv')
                  ->initContext();
}
在我的stockreportAction中,我禁用了布局和视图渲染,如下所示

public function stockreportAction()
{
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender();

    echo 'foobar';
}

当我调用此文件时,会得到一个空白页,我希望生成此文件,因此在示例中,“foobar”显示为可下载的csv文件。谁能告诉我,Zend_Magic尚未实施

您有责任生成csv或任何其他输出格式

简而言之:上下文切换器修改视图脚本后缀,因此上下文的视图脚本为stockreport.csv.phtml(如果csv上下文处于活动状态,则为stockreport.phtml)。
但在您的示例中,上下文切换器以错误的方式使用。您不能在此处切换上下文。
您不使用viewscripts,也不检查操作中的上下文是否处于活动状态

为什么输出为空是另一个问题-可能在某个时候您清除了响应对象中的内容,或者在某个地方出现了致命错误&错误输出被禁用

更新:
标题还包括
内容类型
内容处置