Witam,
uczę się Zenda i mam taki prosty skrypt do cachowania zapytań do DB:
  1. $frontendOptions = array(
  2. 'lifetime' => NULL, // czas życia cacha w sekundach (NULL - na zawsze)
  3. 'automatic_serialization' => true //włączmy automatyczną serializacje domyśnie ustawiona jest na false
  4. );
  5. $backendOptions = array(
  6. 'cache_dir' => './tmp_cache/' // folder gdzie będziemy przechowywać pliki cacha
  7. );
  8. $cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);
  9.  
  10. if(!$this->view->wydarzenie = $cache->load('moment_'.$id_wydarzenia)) {
  11. echo "nie ma cacha :) === ".$this->view->wydarzenie;
  12. //$zapytanie = $this->view->wydarzenie = $wydarzenie->fetchRow('id='.$id_wydarzenia);
  13. $this->view->wydarzenie = $wydarzenie->fetchRow('id='.$id_wydarzenia);
  14. $cache->save($this->view->wydarzenie, 'moment_'.$id_wydarzenia);
  15. }
  16.  
  17. echo "<pre>";
  18. print_r($this->view->wydarzenie);
  19. echo "</pre>";
  20.  
  21. echo "<b>".($this->view->wydarzenie->tytul)."</b>";

Gdy nie ma plików cachujących wszystko jest OK, ale gdy dane są pobierane z cacha funkcja print_r() zwraca w wiele mniej danych, a funkcja echo() wywala takie coś:
Cytat
Notice: ShowController::momentAction() [showcontroller.momentaction]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Zend_Db_Table_Row" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /var/www/treetime4/application/controllers/ShowController.php on line 183


Proszę o pomoc