Caching 使用缓存Zend Framework 2从自定义数据库加载翻译
我想使用数据库中的自定义表用ZF2翻译标记。 首先,我不想使用ZF2 translator,因为据我所知,它使用mo文件,而且我必须在这些文件中专门加载我的查询结果,我不希望这样。我想写我的函数,它将把translation标记作为参数,然后在DB中查询该标记的结果。我不确定这是不是一个好的逻辑?有什么建议吗Caching 使用缓存Zend Framework 2从自定义数据库加载翻译,caching,localization,zend-framework2,memcached,Caching,Localization,Zend Framework2,Memcached,我想使用数据库中的自定义表用ZF2翻译标记。 首先,我不想使用ZF2 translator,因为据我所知,它使用mo文件,而且我必须在这些文件中专门加载我的查询结果,我不希望这样。我想写我的函数,它将把translation标记作为参数,然后在DB中查询该标记的结果。我不确定这是不是一个好的逻辑?有什么建议吗 第二个问题,我想为此创建缓存。我不希望我的翻译函数总是连接到数据库,每次从我的数据库查询参数(标记)。我希望脚本第一次从DB加载结果,然后存储在某种内存中,这样第二次调用视图文件时,这些结
第二个问题,我想为此创建缓存。我不希望我的翻译函数总是连接到数据库,每次从我的数据库查询参数(标记)。我希望脚本第一次从DB加载结果,然后存储在某种内存中,这样第二次调用视图文件时,这些结果将在该内存中,这样脚本就不会每次都连接到DB。我搜索了解决方案,发现可以在ZF2中使用memcached adapter实现,但在服务器端,必须启用并安装扩展。还有其他解决办法吗 每次更改翻译表时,我都会生成一个包含您的翻译的PHP文件 示例文件应如下所示:
<?php
// lets assume file was saved to
// data/translations/en_GB.php
return array(
'Text which should be translated' => 'Translated result',
// more translations here
);
此外,您必须配置缓存适配器\u id,以便我们使用您选择的缓存机制(memcache等)
'translator' => array(
'locale' => 'en_GB',
'translation_file_patterns' => array(
array(
'type' => 'phparray',
'base_dir' => __DIR__ . '/../../../data/translations',
'pattern' => '%s.php',
'cache' => 'cache_adapter_id',
)
),
),