本文整理汇总了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;
}