Php Zend Db Translate如何使用缓存

Php Zend Db Translate如何使用缓存,php,zend-framework,Php,Zend Framework,我有以下代码: Zend_Translate::setCache($cache);// set the cache $translate = new Zend_Translate( array('adapter' => 'DBCustom_Translate_Class', 'tag'=>'translateCache' ) ); $translate ->

我有以下代码:

Zend_Translate::setCache($cache);// set the cache

$translate = new Zend_Translate( 
            array('adapter' => 'DBCustom_Translate_Class', 
                 'tag'=>'translateCache'
                )
             );
$translate -> _('example')
$translate -> _('example2')
Zend_Translate::clearCache('translateCache');//please make abstraction about the fact I'm deleting the cache here.
自定义的_Translate_类扩展了Zend_Translate_适配器并实现了抽象函数(_loadTranslationData和toString)

_loadTranslationData从未被调用,为什么? 我想能够检查db中是否存在翻译的标记,如果不存在,我想创建它,所以我需要能够在这个类中实际执行一些操作


将缓存与自定义db翻译类一起使用的最佳实践是什么?我发现调用addTranslation方法$translate->addTranslation('custom_class_Adapter');将调用_loadTranslationData

您的自定义_translation类是否在自己的类中调用父构造函数,如下所示:

public function __construct($data, $locale = null, array $options = array())
{
    parent::__construct($data, $locale, $options);
}
顺便说一下,您应该将其重命名为Custom_Translate_Adapter,以遵守命名约定(但不应影响其工作方式)