Hi, sorry for any inconvenience. Now i've solved my problem by setting:
private $_id; to: public $id; :) > Hi, > > first of all, my problem: > > Exceptioninformation: > Message: The object of type Yela_Persistence_Users is not persistent. > Stack trace: > #0 > var/www/YelaCMS/library/ezc/PersistentObject/src/persistent_session.php(127): > ezcPersistentLoadHandler->refresh(Object(Yela_Persistence_Users)) > > > > How do i initialize my persistent session? (within Zend Framework > bootstrapping class) (/var/www/YelaCMS/application/Bootstrap.php): > > /** > * Initialize persistent session. > * > * @return ezcPersistentSession > */ > protected function _initEzcSession() > { > $this->bootstrap(array('appSession', 'database')); > $db = $this->getResource('database'); > > $session = new ezcPersistentSession( > $db, > new ezcPersistentCacheManager( > new ezcPersistentCodeManager( APPLICATION_PATH . DS . > 'sources' . DS . > 'database' . DS . > 'persistence') ) > ); > > ezcPersistentSessionInstance::set( $session ); > > return $session; > } > > > > Current definition file looks like this > (/var/www/YelaCMS/application/sources/database/persistence/yela_persistence_users.php): > << this filename should be "yela_users.php" but it won't work for some > reasons :) i guess this is another problem. > > $def = new ezcPersistentObjectDefinition(); > $def->table = 'yela_users'; > $def->class = 'Yela_Persistence_Users'; > > $def->properties['alias'] = new ezcPersistentObjectProperty(); > $def->properties['alias']->columnName = 'alias'; > $def->properties['alias']->propertyName = 'alias'; > $def->properties['alias']->propertyType = > ezcPersistentObjectProperty::PHP_TYPE_STRING; > > > $def->properties['date_login_last'] = new > ezcPersistentObjectProperty(); > $def->properties['date_login_last']->columnName = 'date_login_last'; > $def->properties['date_login_last']->propertyName = 'date_login_last'; > $def->properties['date_login_last']->propertyType = > ezcPersistentObjectProperty::PHP_TYPE_INT; > > > $def->properties['date_register'] = new > ezcPersistentObjectProperty(); > $def->properties['date_register']->columnName = 'date_register'; > $def->properties['date_register']->propertyName = 'date_register'; > $def->properties['date_register']->propertyType = > ezcPersistentObjectProperty::PHP_TYPE_INT; > > > $def->idProperty = new ezcPersistentObjectIdProperty(); > $def->idProperty->columnName = 'group_id'; > $def->idProperty->propertyName = 'group_id'; > $def->idProperty->generator = new ezcPersistentGeneratorDefinition( > 'ezcPersistentManualGenerator' ); > $def->idProperty->propertyType = > ezcPersistentObjectProperty::PHP_TYPE_STRING; > > > $def->properties['hash'] = new ezcPersistentObjectProperty(); > $def->properties['hash']->columnName = 'hash'; > $def->properties['hash']->propertyName = 'hash'; > $def->properties['hash']->propertyType = > ezcPersistentObjectProperty::PHP_TYPE_STRING; > > > $def->idProperty = new ezcPersistentObjectIdProperty(); > $def->idProperty->columnName = 'id'; > $def->idProperty->propertyName = 'id'; > $def->idProperty->generator = new ezcPersistentGeneratorDefinition( > 'ezcPersistentSequenceGenerator' ); > > > $def->properties['login'] = new ezcPersistentObjectProperty(); > $def->properties['login']->columnName = 'login'; > $def->properties['login']->propertyName = 'login'; > $def->properties['login']->propertyType = > ezcPersistentObjectProperty::PHP_TYPE_STRING; > > > $def->properties['mail'] = new ezcPersistentObjectProperty(); > $def->properties['mail']->columnName = 'mail'; > $def->properties['mail']->propertyName = 'mail'; > $def->properties['mail']->propertyType = > ezcPersistentObjectProperty::PHP_TYPE_STRING; > > > $def->properties['password'] = new > ezcPersistentObjectProperty(); > $def->properties['password']->columnName = 'password'; > $def->properties['password']->propertyName = 'password'; > $def->properties['password']->propertyType = > ezcPersistentObjectProperty::PHP_TYPE_STRING; > > > $def->properties['status'] = new > ezcPersistentObjectProperty(); > $def->properties['status']->columnName = 'status'; > $def->properties['status']->propertyName = 'status'; > $def->properties['status']->propertyType = > ezcPersistentObjectProperty::PHP_TYPE_INT; > > return $def; > > > > The persistent object class is the following > (/var/www/YelaCMS/library/Yela/Persistence/Users.php): > > class Yela_Persistence_Users > { > private $_id = null; > public $group_id = null; > public $alias = null; > public $date_register = null; > public $date_login_last = null; > public $login = null; > public $password = null; > public $mail = null; > public $hash = null; > public $status = 0; > > public function getState() > { > $result = array(); > $result['id'] = $this->_id; > $result['group_id'] = $this->group_id; > $result['alias'] = $this->alias; > $result['date_register'] = $this->date_register; > $result['date_login_last'] = $this->date_login_last; > $result['login'] = $this->login; > $result['password'] = $this->mail; > $result['hash'] = $this->hash; > $result['status'] = $this->status; > > return $result; > } > > public function setState( array $properties ) > { > foreach( $properties as $key => $value ) > { > $this->$key = $value; > } > } > } > > > > The next code will output a dumped Yela_Persistence_Users object with > primary key 3 from database: > > $session = ezcPersistentSessionInstance::get(); > $user = $session->load('Yela_Persistence_Users', 3); > var_dump($user->getState()); > > > > > And now, instead of calling $user->getState() i tried to delete the > existing object with: > > $session->delete($user); > > > > The described exception will be thrown at this position. Maybe someone > can help me. > > vg René -- Components mailing list Components@lists.ez.no http://lists.ez.no/mailman/listinfo/components