2011-04-17 20 views
0

我想执行保存的请求。这就是我所做的。 我序列化一个请求对象到数据库,然后当用户激活他们的帐户,我需要重播这个请求。 我用这样的方式重播请求:我怎样才能派发一个保存的请求,而不需要渲染Zend_framework中的响应

$front = Zend_Controller_Front::getInstance(); 
$front->returnResponse(true); 
$response = $front->dispatch($request); 

但这总会带给用户的原始请求的页面,这是我不想做的事。我只想在没有用户注意的情况下在后端执行保存的请求。那么,如何防止front_controller的调度操作自动转发或呈现原始请求的响应呢?

我检查了Zend框架,它说,设置retureResponse为true,响应将被响应而不是被显示。但它不是这样工作的。我深入前端控制器,似乎调度员直接发送请求。

那么他们有没有什么好的解决方案在后端的zend框架中执行保存的请求对象?

谢谢

回答

0

您必须等到现有请求结束后才能做到这一点。如果我对你有所了解,那么这个人应该工作。

您决定何时运行存储的请求。

Zend_Registry::set('runStoredRequest', true); 

然后在你的引导你通过初始请求(在你引导的底部)运行后,只需添加以下内容:

if(Zend_Registry::get('runStoredRequest')) { 
    /** RETRIEVE AND RUN STORED REQUEST **/ 
} 
相关问题