本文整理匯總了PHP中sDB::serialized方法的典型用法代碼示例。如果您正苦於以下問題:PHP sDB::serialized方法的具體用法?PHP sDB::serialized怎麽用?PHP sDB::serialized使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類sDB
的用法示例。
在下文中一共展示了sDB::serialized方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: populate
/**
* Populates the ShoppDatabaseObject properties from a db query result object
*
* Uses the available data model built from the table schema to
* automatically set the object properties, taking care to convert
* special data such as dates and serialized structures.
*
* @author Jonathan Davis
* @since 1.0
*
* @param object $data The query results
* @return void
**/
public function populate($data)
{
if (empty($data)) {
return false;
}
$properties = get_object_vars($data);
foreach ((array) $properties as $var => $value) {
$mapping = empty($this->_map) ? array() : array_flip($this->_map);
if (!isset($this->_addmap) && !empty($mapping) && !isset($mapping[$var])) {
continue;
}
$property = isset($mapping[$var]) ? $mapping[$var] : $var;
if (empty($this->_datatypes[$var])) {
continue;
}
// Process the data
switch ($this->_datatypes[$var]) {
case 'date':
$this->{$property} = sDB::mktime($value);
break;
case 'float':
$this->{$property} = (double) $value;
break;
case 'int':
$this->{$property} = (int) $value;
break;
case 'string':
// If string has been serialized, unserialize it
if (sDB::serialized($value)) {
$value = @unserialize($value);
}
default:
// Anything not needing processing
// passes through into the object
$this->{$property} = $value;
}
}
}
示例2: restore
/**
* Restores a serialized value to a runtime object/structure
*
* @since 1.0
*
* @param string $value A value to restore if necessary
* @return mixed
**/
public function restore($value)
{
if (!is_string($value)) {
return $value;
}
// Return unserialized, if serialized value
if (sDB::serialized($value)) {
$restored = @unserialize($value);
if (empty($restored)) {
$restored = @unserialize(stripslashes($value));
}
if (false !== $restored) {
return $restored;
}
}
return $value;
}