有人能指出我正确的方向来创建一个zend-mvc风格的postDispatch插件吗?
我尝试使用afterDispatchLoop(),但我需要一种方法来访问当前响应。目标是对Response(渲染的布局+视图)进行某种过滤,然后使用新的过滤文本重置响应。
我也尝试过使用afterRender()和beforeRender()但没有运气,因为我从依赖注入器获得的响应是空的。
如果您知道如何实现这一目标,请提供帮助!谢谢!
我已经使用View事件(afterRender)了解它。此事件传递Phalcon MVC视图的实例,您可以随后修改整个视图的主体,但调用$ view-> getContent()+ actions,然后调用$ view-> setContent()。
我习惯使用像Zend这样的HTTP Response对象。在Phalcon中有没有更好的方法来实现这种响应操作?
答案 0 :(得分:1)
如果从依赖注入器中的服务获得空结果,则可以为服务启用php singleton设计模式,只需添加“true”标志,如下所示:
$di->set('view', function() use($config) {
$view = new \Phalcon\Mvc\View();
$view->setViewsDir($config->application->viewsDir);
$view->registerEngines(array(
".volt" => 'volt',
));
return $view;
}, true);
$ di-> set('service',function(){}, SINGLETON_TRUE_OR_FALSE )
此处有更多信息:http://docs.phalconphp.com/en/latest/reference/di.html#shared-services