<?php
class ReturnController extends AbstractActionController
{
public function returnAction()
{ // 返回方式一 :会被dipatch处理器Zend\Mvc\View\Http\CreateViewModelListener::createViewModelFromArray(...)的拦截处理
return array('key1' => 'key1value'); // == new ViewModel(array('key1' => 'key1value')); // 返回方式二: 会被dipatch处理器Zend\Mvc\View\Http\CreateViewModelListener::createViewModelFromNull(...)的拦截处理
return null; // == new ViewModel(); // 返回方式三:会避过dipatch处理器Zend\Mvc\View\Http\InjectTemplateListener::injectTemplate(...)的拦截处理
// case.0
{
$viewModel = new ViewModel(array(
'key1' => 'key1value',
));
$viewModel->setTemplate('module1/ctrl1/action1'); // 使用模板,可以不用设置,会自动识别
$viewModel->setTerminal(false); // false表示使用布局模板,默认是false
$viewModel->setCaptureTo('content'); // 放入布局文件的中的变量中
return $viewModel;
}
// case.1
{
// 模板
$data = array(
'key1' => 'key1value',
);
$viewModelTop = new ViewModel($data);
$viewModelTop->setTemplate('module1/ctrl1/action1'); // 使用模板,可以不用设置,会自动识别
$viewModelTop->setTerminal(false); // false表示使用布局模板,默认是false
$viewModelTop->setCaptureTo('content'); // 放入布局文件的中的变量中
$viewModelTop->setVariables(array(
'childrenStr'=>''
)); // 子模板
$viewModelSub = new ViewModel($data);
$viewModelSub->setTemplate('module1/ctrl1/action1sub');
$viewModelTop->addChild($viewModelSub,'childrenStr',true);
return $viewModelTop;
} // 返回方式四: 会避过后续所有的dipatch处理器的拦截处理
$reponse = new \Zend\Http\PhpEnvironment\Response();
{ // headers $reponse->setStatusCode(200); $headers = new \Zend\Http\Headers();
$reponse->setHeaders($headers); // 添加http响应的cookie头
$cookie = new \Zend\Http\Header\Cookie(array(
'key1'=>'key1_value',
'key2'=>'key2_value',
));
$headers->addHeader($cookie); // 添加http响应的server头
$server = new \Zend\Http\Header\Server('nginx/1.6.2');
$headers->addHeader($server);
}
{ // Content
$reponse->setContent('<html><head></head><body><div>hello,i am zend framework 2.4 !</div></body></html>');
} return $reponse;
} }

最新文章

  1. Python 学习第十八天 js 正则及其它前端知识
  2. 【转】JVM运行原理及JVM中的Stack和Heap的实现过程
  3. fullPage 全屏滚动【上下滚动】效果
  4. bugzilla_firefox
  5. Why Deep Learning Works – Key Insights and Saddle Points
  6. 锋利的jQuery-4--trigger()和triggerHandler()
  7. sql order by+字段,指定按照哪个字段来排序
  8. 【Todo】秒杀系统材料
  9. Excel 函数记录
  10. 如何使用spring中的Log4jConfigListener--删除
  11. sql server2005主从数据库同步配置
  12. 基于Maven的spring_security入门
  13. Html 定位position
  14. git入门(msysgit安装)
  15. C/C++ Volatile关键词深度剖析(转)
  16. Mysql精华版(命令大全)
  17. [转] Python 字符编码判断
  18. @mentions for Users with ActionText; 使用Tribute.js库
  19. WDCP面板Web环境安装redis与phpredis扩展应用方法
  20. Linux命令:cd

热门文章

  1. Java多线程与并发——线程同步
  2. VMware安装CentOS7的详细过程
  3. 4 - Channelhandler和ChannelPipeline
  4. Linux下mysql定时备份及恢复
  5. ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第十一天(非原创)
  6. Vue.js(2.x)之Class 与 Style 绑定
  7. Android 使用GreenDao 添加字段,删除表,新增表操作
  8. 关于Mybatis的pagehelper使用遇到的坑
  9. 基于spark Mllib(ML)聚类实战
  10. C++指针的概念解读