Version 0.03
Fix 1 bugs.
Fix 1 issue : When we restore a object from serialized , value of attribute "id" is not set.
***Changelog version to 0.0.2 ***
-
Allow to choose options load safe attributes or not.
+loadFromSerialized($serializedString = null, $safeOnly = false)
+loadFromStorage(Array $params = array(), $storage = ‘session’, $safeOnly = false)
This behavior is used for serializing all attributes of a active-record. If you want to add some extended attributes to serialized data, you can implement method addDataToSerialized in the active-record or its behavior objects. And add method loadAddedDataFromSerialized for restoring active-record objects It also support store serialized data into session and restore from it.
-
Installing
File main.php (config)
'import'=>array(
'ext.lotusbreath.model.serialize.*'
),
In active-record class
public function behaviors() {
return array(
'serialize' => array(
'class' => 'ext.lotusbreath.model.serialize.LSerializeBehavior'
)
);
}
-
Usage:
-
get serialized data :
$post = Post::model()->findByPk(1);
$serializedString = $post->serializeData();
- save serialized data into session
$post->saveSerializedData(array('sesssionKey' => 'xxxx' ));
- restore object from string
$post->loadFromSerialized($serializedString);
- restore object from session dada
$post->loadFromStorage(array('sesssionKey' => 'xxxx' ));
-
Changelog :
Version 0.0.1
-
Serialized all attribute values ( from $attributes property of active-record object)
-
Call function addDataToSerialized from a active-record object and its behaviors to add extended data that be also serialized
-
Call function loadAddedDataFromSerialized from a active-record object and its behaviors to restore extended data
-