+ -
当前位置:首页 → 问答吧 → ZF中不能__construct

ZF中不能__construct

时间:2009-08-26

来源:互联网

学习ZF框架时,同学们都有这样的疑问,为什么ZF中不能__construct,取而代之的是init这样一个特殊函数。这就要从PHP的类的机制说起。PHP中,当子类有自身的构造函数时,父类的构造函数是不会自动

调用。因此当ZF框架要完成带参实例化时,就无法将参数注入。因此不得以只能在ZF中取消__construct,而通过一个init来模拟__construct,以实现其注入功能。

以下是ZF的ACTIO,通过分析这段代码就很容易理解上述问题了。

public function __construct(Zend_Controller_Request_Abstract $request, Zend_Controller_Response_Abstract $response, array $invokeArgs = array())
{
$this->setRequest($request)
->setResponse($response)
->_setInvokeArgs($invokeArgs);
$this->_helper = new Zend_Controller_Action_HelperBroker($this);
$this->init();
}
php技术分享

[ 本帖最后由 康云川 于 2009-8-26 21:02 编辑 ]

作者: 康云川   发布时间: 2009-08-26

相关阅读 更多

热门下载

更多