1

我有一个回调方法setStatusCallback()。我想覆盖statusAction()放置在我的User_IndexController-Class. 我知道我可以覆盖回调方法来setStatusCallback()使用

setStatusCallback(array(&$obj, 'statusAction'));

然而,当我写

$obj = new User_IndexController();
setStatusCallback(array(&$obj, 'statusAction'));

这不起作用,因为User_IndexController()需要$request. 我怎样才能得到一个实例User_IndexController?我不知道如何处理这个$request

4

2 回答 2

0

我不明白为什么你必须自己创建一个控制器对象的实例,Zend_Application 应该为你做。但是,如果您需要自己创建它,请尝试:

$obj = new User_IndexController(new Zend_Controller_Request_Http(),
                                new Zend_Controller_Response_Http());

您可以简单地创建一个Zend_Controller_Request_Http对象的实例并将其传递给Zend_Controller_Action构造函数,而没有特殊要求。希望有帮助。

于 2012-05-20T16:50:44.830 回答
0

我100%肯定,你做错了。我想不出有什么理由需要在使用之前准备好 Controller 对象。

使用 ZF 已经创建的请求和响应也可能是更好的主意。那些位于

Zend_Controller_Front::getInstance()->getRequest() // or ->getResponse()
于 2012-05-20T19:54:44.617 回答