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


Phalcon PHP - Creating "postDispatch" plugin to handle response

有人可以指出我创建zend-mvc风格的postDispatch插件的正确方向吗?

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

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

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


更新

我已经使用视图事件(渲染后)让它工作。 此事件传递 Phalcon MVC 视图的实例,您可以在其中修改整个视图的主体,但调用 $view->getContent() + 操作,后跟 $view->setContent()。

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

如果从依赖注入器中的服务获得空结果,则只需添加"true"标志即可为服务启用PHP单例设计模式,如下所示:

$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