我有以下代码:
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.
Custom_Translate_Class扩展Zend_Translate_Adapter并实现抽象函数(_loadTranslationData和toString)
永远不会调用_loadTranslationData,为什么? 我希望能够检查db中是否存在转换标记,如果不是我想创建它,那么我需要能够在这个类中实际执行某些操作
使用缓存和自定义数据库转换类
的最佳做法是什么答案 0 :(得分:0)
我发现调用addTranslation方法$ translate-> addTranslation('Custom_Class_Adapter');将调用_loadTranslationData
答案 1 :(得分:0)
你的Custom_Translate_Class是否调用了它自己的父构造函数,就像这样? :
public function __construct($data, $locale = null, array $options = array())
{
parent::__construct($data, $locale, $options);
}
顺便说一句,您应该将其重命名为Custom_Translate_Adapter,以遵守命名约定(但它不应影响其工作方式)。