Hey, don't you offence my friend and no need triple exclamation marks like
that. I'm just here trying to be developer who gives feedbacks about
possible issues. Something like payback to usage of such a nice
architectured and totally free, open source framework. Get it?

First, of course sometimes i miss the parts of documantation but i do read
documantation starting from this example;
http://framework.zend.com/manual/en/zend.translate.adapter.html#zend.translate.adapter.caching
which is using "Page" as cache frontend.in zend_translate.

And second, please don't take this as complaining but i'm just wondering how
is it working the same $cache object for zend_date right before
zend_translate in bootstrap;
Zend_Date::setOptions(array('cache' => $cache));
(I'm not that low level programmer and didn't go through the ZF codes)

If you want us to dig this mailing group only for "how to"s and never show
up for the question marks, that is fine for me.

21 Kasım 2008 Cuma 09:12 tarihinde Thomas Weidner <[EMAIL PROTECTED]>yazdı:

> Please read manual about how cache frontends work !!!
>
> You used "Page" as Cache frontend.
> According to manual:
> Zend_Cache_Frontend_Page is like Zend_Cache_Frontend_Output but designed
> for a complete page. It's impossible to use Zend_Cache_Frontend_Page for
> caching only a single block.
>
> Is there any reason why you want to have also the page input within the
> same cache data as translation ?
>
> Of course this can not work when other data are also added to the
> translation cache within the same cache id.
>
> This is definitly a problem of a misused cache.
>
> Greetings
> Thomas Weidner, I18N Team Leader, Zend Framework
> http://www.thomasweidner.com
>
> ----- Original Message ----- From: "kirpit" <[EMAIL PROTECTED]>
> To: <fw-general@lists.zend.com>
> Sent: Friday, November 21, 2008 2:05 AM
> Subject: [fw-general] Re: $cache->start() and caching with Zend_Translate
> together, possible bug?
>
>
>  Ok, what I do, I write here step by step.
>>
>> I have re-downloaded ZF 1.7. I removed everything under TEMP_DIR folder. I
>> removed every single localhost cookie.
>>
>> I commented $cache->start(); line and uncommented
>> Zend_Translate::setCache($cache); line. And I have entered main page.
>> Everything looks very fine (while not cache hitting) and I have a file
>> zend_cache--zend_translate_full_csv_file_path filled with correct
>> translation table, serialized under temp dir next to some small metadata
>> files.
>>
>> Then I removed again cookies and everything under temp dir. I comment
>> translate cache and uncomment $cache->start(). There is no cache hit as
>> expected. I do have fetched output in a file named zend_cache--someMd5 but
>> i
>> do not have any cache file about zend_translation under temp dir as
>> expected.
>>
>> I only remove cookies, leaving temp dir as it is. There is cache hit as
>> expected and response time is 19ms (wow, here i adore ZF).
>>
>> I check cookies (well there is none as cache hits), remove files under
>> temp
>> folder. I uncomment both of them. Enter the mainpage. What i have under
>> temp
>> dir is a file named zend_cache--zend_translate_full_csv_file_path. And
>> guess
>> what is inside? Fetched and serialized html output of page! :)
>>
>> Yes, there is no any other file bigger than 1 kb. under temp.
>>
>> Bug?
>>
>> ---------- Yönlendirilmiş ileti ----------
>> From: "Thomas Weidner" <[EMAIL PROTECTED]>
>> To: <fw-general@lists.zend.com>
>> Date: Thu, 20 Nov 2008 07:34:19 +0100
>> Subject: Re: [fw-general] $cache->start() and caching with Zend_Translate
>> together, possible bug?
>> Sorry, but on the first look this seems to be a cache problem and not a
>> translation one.
>> Looking at the lines you provide I see that at line 435 the cache is
>> loaded...
>> $result = self::$_cache->load($id);
>> which happens without problems.
>>
>> And then the cache is unserialized.
>> unserialize($result);
>> All translate classes are serializing the data before writing to cache so
>> this can not be a problem.
>>
>> In my opinion there are only 4 things which can corrupt this behaviour.
>>
>> 1.) You are using an outdated cache after an update of ZF
>> 2.) Someone writes manually to the translation cache without serializing
>> the
>> data
>> 3.) Someone uses own written adapter which corrupt the cache
>> 4.) You have a corrupted ZF version... try a update to fix the broken
>> files
>>
>> Of course it could be that there is a problem in Zend_Cache itself, but I
>> dont believe this, because your problem is thrown in unserialize. Why
>> should
>> Zend_Cache change the stored data. And Zend_Translate stores only
>> serialized
>> strings.
>>
>> Greetings
>> Thomas Weidner, I18N Team Leader, Zend Framework
>> http://www.thomasweidner.com
>>
>>
>> 2008/11/20 kirpit <[EMAIL PROTECTED]>
>>
>>  Hi ZF people.
>>>
>>> I have following lines in bootstrap with ZF v1.7 running on php 5.2.6:
>>>
>>> ---------------------------------------->
>>>
>>> $cache = Zend_Cache::factory('Page', 'File', array(
>>>  'lifetime' => 60 * 60 * 12,
>>>  'regexps' => array(
>>>  // cache whole indexController
>>>  '^' . BASE_PATH . '$' => array(
>>>  'cache' => true),
>>>  // cache whole indexController
>>>  '^' . BASE_PATH . 'index' => array(
>>>  'cache' => true),
>>>  // cache whole iController
>>>  '^' . BASE_PATH . 'i/' => array(
>>>  'cache' => true),
>>>  // cache ajax/get-suggest
>>>  '^' . BASE_PATH . 'ajax/get-suggest' => array(
>>>  'cache' => true,
>>>  'cache_with_get_variables' => true,
>>>  'cache_with_session_variables' => true,
>>>  'cache_with_cookie_variables' => true,
>>>  'make_id_with_get_variables' => true,
>>>  'make_id_with_session_variables' => false,
>>>  'make_id_with_cookie_variables' => false))), array(
>>>  'cache_dir' => TEMP_DIR));
>>> $cache->start();
>>>
>>> // ... more later
>>>
>>> Zend_Translate::setCache($cache);
>>> $translate = new Zend_Translate('csv', DOC_ROOT . 'language' . DS .
>>> 'tr_TR.csv', 'tr_TR');
>>> Zend_Registry::set('Zend_Translate', $translate);
>>>
>>> ---------------------------------------->
>>>
>>> And it produces following errors:
>>>
>>> Warning: unserialize() expects parameter 1 to be string, array given in
>>> ...\Zend\Translate\Adapter.php on line 436
>>>
>>> Notice: No translation for the language 'tr_TR' available. in
>>> ...\Zend\Translate\Adapter.php on line 307
>>>
>>> Notice: No translation for the language 'tr_TR' available. in
>>> ...\Zend\Translate\Adapter.php on line 307
>>>
>>> Notice: No translation for the language 'tr_TR' available. in
>>> ...\Zend\Translate\Adapter.php on line 307
>>>
>>> When I comment one of the cache feature, either $cache->start()
>>> or Zend_Translate::setCache($cache); everything looks fine. I have found
>>> similar bug below link but it says it is fixed already:
>>> http://framework.zend.com/issues/browse/ZF-3930
>>>
>>> Could be a bug?
>>>
>>>
>>>
>>>
>>
>

Reply via email to