aim*_*eld 3 php pdf rendering zend-framework
我正在尝试在它作为字符串发送到浏览器之前访问最终的xhtml输出.操作和插件的postDispatch()方法似乎为时尚早.当我Zend_Controller_Front::dispatch()使用调试器逐步执行方法时,我可以$this->_response->sendResponse()通过添加监视表达式在最后调用之前作为字符串访问所需的输出$this->getResponse()->getBody().但是,似乎没有专门的钩子可以直接进入那里.我需要最终的响应体作为字符串,以便将其发送到Prince XML以生成pdf.有人知道这样做的优雅方式吗?
谢谢,阿德里安
该Zend_Controller_Front插件挂钩的(从以下位置):
routeStartup()在Zend_Controller_Front调用路由器之前调用,以评估针对已注册路由的请求.routeShutdown() 在路由器完成路由请求后调用.dispatchLoopStartup()在Zend_Controller_Front进入其调度循环之前被调用.preDispatch()在调度程序调度操作之前调用.此回调允许代理或过滤器行为.通过改变请求并重置其调度标志(via Zend_Controller_Request_Abstract::setDispatched(false)),可以跳过和/或替换当前动作.postDispatch()在调度员调度操作后调用.此回调允许代理或过滤器行为.通过更改请求并重置其调度标志(via Zend_Controller_Request_Abstract::setDispatched(false)),可以指定新的操作以进行调度.dispatchLoopShutdown() 在Zend_Controller_Front退出其调度循环后调用.dispatchLoopShutdown()你的钩子也是如此- 这Zend_Controller_Front::dispatch()是在返回或发送响应之前的最后一件事.
另一种选择可能是,即使它们是为完全不同的东西而设计的,也可以使用Zend_View过滤器.可以将这些过滤器添加到Zend_View-instance并调用Zend_View::render().过滤器只是一个类的实例,它提供了一个filter($buffer)返回过滤的方法$buffer.但是将这个界面用于与过滤 ouptut 无关的东西,实际上似乎不是正确的方法.
我个人认为,一个dispatchLoopShutdown()-plugin将是你要走的路.
| 归档时间: |
|
| 查看次数: |
720 次 |
| 最近记录: |