获取自编写Zend_Controller的实例

时间:2012-05-20 15:00:38

标签: php model-view-controller zend-framework controller

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

覆盖回调方法setStatusCallback()
setStatusCallback(array(&$obj, 'statusAction'));

但是,当我写

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

这不起作用,因为User_IndexController()需要$request。如何获得User_IndexController的实例?我不知道如何处理这个$request

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

我百分百肯定,你做错了。我想不出为什么在使用Controller之前需要准备好Controller对象的任何原因。

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

Zend_Controller_Front::getInstance()->getRequest() // or ->getResponse()