有人可以指出我创建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