我正在.ini文件中使用应用程序资源插件来使用以下代码设置我的Zend_Translate:
resources.translate.data = APPLICATION_PATH "/../languages"
resources.translate.adapter = "gettext"
resources.translate.options.scan = "directory"
现在我想将日志功能添加到translate中,在bootstrap中我会这样做:
$writer = new Zend_Log_Writer_Stream( APPLICATION_PATH . '/../logs/translate.log');
$log = new Zend_Log($writer);
$translate->setOptions(
array(
'log' => $log,
'logUntranslated' => true
)
);
有关此问题的2个问题: 首先,是否可以在.ini文件中使用它?
其次,可以在引导程序中“扩展”资源设置吗?换句话说,我是否可以在bootstrap中将此日志选项添加到translate中,同时保留已在.ini文件中进行的其他设置?
答案 0 :(得分:0)
好吧,我还没有在ini文件中找到解决方法,但是我找到了一种方法来从引导程序中的ini文件“扩展”我的设置而不覆盖它们。我设法这样做:
protected function _initTranslate()
{
$writer = new Zend_Log_Writer_Stream( APPLICATION_PATH . '/../somedir/somefile.log');
$log = new Zend_Log($writer);
// get the translate resource from the ini file and fire it up
$resource = $this->getPluginResource('translate');
$translate = $resource->getTranslate();
// add the log to the translate
$translate->setOptions(
array(
'log' => $log,
'logUntranslated' => true
)
);
// return the translate to get it in the registry and so on
return $translate;
}
这很好用。我打算从.ini中删除翻译,因为我正在切换到我自己的适配器而不知道(还)如何从ini中取出它。