Hi, You have to "require_once" all needed classes before unserialize the object
from unserialize() manual : ---------------------------------------------------------------------------------------------------------------------------------------------- *[...] unserialize_callback_func directive: * It's possible to set a callback-function which will be called, if an undefined class should be instantiated during unserializing. (to prevent getting an incomplete object<http://fr3.php.net/manual/en/language.types.object.php>"__PHP_Incomplete_Class".) Use your php.ini, ini_set() <http://fr3.php.net/manual/en/function.ini-set.php> or .htaccess to define 'unserialize_callback_func'. Everytime an undefined class should be instantiated, it'll be called. To disable this feature just empty this setting. [...] ---------------------------------------------------------------------------------------------------------------------------------------------- Regards 2007/10/20, lroot <[EMAIL PROTECTED]>: > > I'm running threw a simple Zend framework tutorial trying to familiarize > myself with the framework. I have a simple application that stores and > displays cd albums and artist names. My problem lies in my index action > where I generate the full list. On the first load of the this action I do a > fectchAll from my Zend DB Table object and save the result with Zend Cache > and then send the result to the view which loops through the result and > displays it. The first load works fine. On subsequent loads I try to load > the date from Zend Cache and send it on to the view. However this time the > view throws an error/notice: Notice: Trying to get property of non-object > in... When I do a Zend Debug Dump of the result of the Zend Cache load it > *appears* that what was returned was the proper object: > > object(__PHP_Incomplete_Class)#21 (8) { > ["__PHP_Incomplete_Class_Name"] => string(20) "Zend_Db_Table_Rowset" > ["_data:protected"] => array(4) { > [0] => array(3) { > ["id"] => string(3) "330" > ["artist"] => string(15) "Michael Jackson" > ["title"] => string(8) "Thriller" > } > [1] => array(3) { > ["id"] => string(3) "331" > ["artist"] => string(5) "AC/DC" > ["title"] => string(13) "Back in Black" > } > [2] => array(3) { > ["id"] => string(3) "332" > ["artist"] => string(15) "Backstreet Boys" > ["title"] => string(10) "Millennium" > } > [3] => array(3) { > ["id"] => string(3) "334" > ["artist"] => string(4) "asdf" > ["title"] => string(4) "asdf" > } > } > ["_tableClass:protected"] => string(5) "Album" > ["_rowClass:protected"] => string(17) "Zend_Db_Table_Row" > ["_pointer:protected"] => int(0) > ["_count:protected"] => int(4) > ["_rows:protected"] => array(0) { > } > ["_stored:protected"] => bool(true) > } > > From what I can tell I think I have everything setup properly based on > what i was able to scrounge up online. Any insight or advice would be > greatly appreciated. ### System & app Details PHP Version > 5.2.0-8+etch7(Debian) Apache2 ### Front Controller > > set('config',$config); > > //Setup Database > $db = Zend_Db::factory($config->db->adapter,$config->db->config->toArray()); > Zend_Db_Table::setDefaultAdapter($db); > > //Setup Cache > $frontendOptions = array( > 'lifetime' => 7200, // cache lifetime of 2 hours > 'automatic_serialization' => true > ); > $backendOptions = array( > 'cache_dir' => '../cache/' // Directory where to put the cache files > ); > $cache = Zend_Cache::factory('Core', 'File', $frontendOptions, > $backendOptions); > $registry->set('cache',$cache); > > //Setup Controller > $frontController = Zend_Controller_Front::getInstance(); > $frontController->throwExceptions(true); > $frontController->setControllerDirectory('../application/controllers'); > > $frontController->dispatch(); > > ### Index action > > function indexAction() { > $this->view->title = "My Albums"; > $cache = Zend_Registry::get('cache'); > $allAlbums = $cache->load('all_albums'); > Zend_Debug::dump($allAlbums); > if ( $allAlbums ) { > Zend_Debug::dump("Pulling from cache"); > $this->view->albums = $allAlbums; > } else { > Zend_Debug::dump("Pulling from DB"); > $album = new Album(); > $this->view->albums = $album->fetchAll(); > $cache->save($this->view->albums,'all_albums'); > } > } > > ### View > > albums as $album) : ?> > > escape($album->title);?> > escape($album->artist);?> > > baseUrl; ?>/index/edit/id/id;?>">Edit > <http://%3C?php+echo+$this-+target=> > baseUrl; ?>/index/delete/id/id;?>">Delete > <http://%3C?php+echo+$this-+target=> > > > > ------------------------------ > View this message in context: Zend Cache dosent seem to be returning the > object I > saved<http://www.nabble.com/Zend-Cache-dosent-seem-to-be-returning-the-object-I-saved-tf4656895s16154.html#a13306864> > Sent from the Zend Framework mailing list > archive<http://www.nabble.com/Zend-Framework-f15440.html>at > Nabble.com. > -- Fabien MARTY [EMAIL PROTECTED]
