Phalcon PHP - 创建“postDispatch”插件来处理响应

时间:2013-11-03 00:41:21

标签: php phalcon

有人能指出我正确的方向来创建一个zend-mvc风格的postDispatch插件吗?

我尝试使用afterDispatchLoop(),但我需要一种方法来访问当前响应。目标是对Response(渲染的布局+视图)进行某种过滤,然后使用新的过滤文本重置响应。

我也尝试过使用afterRender()和beforeRender()但没有运气,因为我从依赖注入器获得的响应是​​空的。

如果您知道如何实现这一目标,请提供帮助!谢谢!


更新

我已经使用View事件(afterRender)了解它。此事件传递Phalcon MVC视图的实例,您可以随后修改整个视图的主体,但调用$ view-> getContent()+ actions,然后调用$ view-> setContent()。

我习惯使用像Zend这样的HTTP Response对象。在Phalcon中有没有更好的方法来实现这种响应操作?

1 个答案:

答案 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