Я пытаюсь добавить Zend_Translate
в проект PHP, используя компоненты Zend в качестве автономных библиотек.Zend_Translate & Zend_Cache standalone
Я уже использую кэш для нескольких элементов, используя следующий метод:
$cache = Zend_Cache::factory(...
if (!($obj = $cache->load('OBJ')))
{
$obj = ...
$cache->save($obj);
}
Теперь, следуя документации Zend_Translate
, я поставил тот же $cache
объект моей Zend_Translate
с setCache
до того, чтобы фактически создать объект:
Zend_Translate::setCache($cache);
$translate = new Zend_Translate(
array(
'adapter' => 'gettext',
'content' => 'languages',
null,
array('scan' => Zend_Translate::LOCALE_FILENAME)
)
);
Итак, здесь я рулевое управление от моего обычного метода, который вместо того, чтобы было бы поставить весь Zend_Translate
в кэше. Общий результат, как сейчас выглядит следующим образом:
// 1.php
ob_start();
session_start();
$cache = Zend_Cache::factory(...
if (!($obj = $cache->load('OBJ')))
{
$obj = ...
$cache->save($obj);
}
Zend_Translate::setCache($cache);
$translate = new Zend_Translate(
array(
'adapter' => 'gettext',
'content' => 'languages',
null,
array('scan' => Zend_Translate::LOCALE_FILENAME)
)
);
echo $translate->_("Hello, I'm the first script");
// end 1.php
и
// 2.php
ob_start();
session_start();
$cache = Zend_Cache::factory(...
if (!($obj = $cache->load('OBJ')))
{
$obj = ...
$cache->save($obj);
}
Zend_Translate::setCache($cache);
$translate = new Zend_Translate(
array(
'adapter' => 'gettext',
'content' => 'languages',
null,
array('scan' => Zend_Translate::LOCALE_FILENAME)
)
);
echo $translate->_("Hello, I'm the second script");
// end 2.php
Этот подход не работает, как я вижу, что кэш-файлы создаются каждый раз, когда я загрузить страницу.
Я интересно:
- Я правильно считать, что мне нужно позвонить
Zend_Cache::factory
на каждой странице? - Как я могу получить свой перевод для работы с кешем в этой автономной ситуации?
- Вопрос о
Zend_Translate
:addTranslation
добавить что-нибудь к картинке или я могу загрузить все мои переводы, как я?
Спасибо!
Просьба сообщить о причине просрочки голосования. Благодарю. – shrikeh