如何在Zend中访问抽象保护函数

时间:2012-04-12 04:55:36

标签: zend-framework abstract-class

如何使抽象函数在emaillogger类中起作用?

class EmailLogger extends Zend_Log_Writer_Abstract

我想使用函数_write

 protected function _write($event)
 {
      $this->_events[] = $this->_formatter->format($event);
 }

然后我收到了这个错误

类EmailLogger包含1个抽象方法,因此必须声明为abstract或实现其余方法(Zend_Log_FactoryInterface :: factory)

我不确定该怎么做 我尝试使用工具Zend_Log_FactoryInterface,但它没有工作

谢谢,理查德

1 个答案:

答案 0 :(得分:1)

Zend_Log_Writer_Abstract实现Zend_Log_FactoryInterface,其代码如下:

static public function factory($config);

这会强制Zend_Log_Writer_Abstract和任何子类也使用factory方法。要满足此要求,您可以放入一个调用父方法的包装器方法:

class EmailLogger extends Zend_Log_Writer_Abstract
{
    // Add this method in conjunction to what you already have in your class
    public static function factory($config)
    {
        parent::factory($config);
    }
}