gpt4 book ai didi

php - Phalcon PHP - 创建 "postDispatch"插件来处理响应

转载 作者:搜寻专家 更新时间:2023-10-31 21:35:55 24 4
gpt4 key购买 nike

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

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

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

如果你知道如何实现这个,请帮忙!谢谢!


更新

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

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

最佳答案

如果您从依赖注入(inject)器中的服务得到空结果,您可以为服务启用 php 单例设计模式,只需添加“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

关于php - Phalcon PHP - 创建 "postDispatch"插件来处理响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19748607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com