ModuleStorage

Package framework.modules
Inheritance class ModuleStorage » Module » LsObject
Since 2.0
Source Code /framework/classes/modules/storage/Storage.class.php
Хранилище "ключ => значение"

Позволяет легко и быстро работать с небольшими объемами данных, CRUD операции с которыми теперь занимают всего одну строку кода.

Например: $this->Storage_Set('keyname', 'some_mixed_value', $this); // сохранить 'some_mixed_value' под имененем 'keyname' для вашего плагина $this->Storage_Get('keyname', $this); // получить данные по ключу 'keyname' для вашего плагина

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
_aBehaviors Список поведений в виде готовых объектов, формируется автоматически LsObject
aBehaviors array Список поведений LsObject
aSessionCache ModuleStorage
bIsInit bool Указывает на то, была ли проведенна инициализация модуля Module
oMapperStorage ModuleStorage

Public Methods

Hide inherited methods

MethodDescriptionDefined By
AddBehaviorHook() Добавляет хук поведения LsObject
AttachBehavior() Присоединяет поведение к объекту LsObject
DetachBehavior() Отсоединяет поведение от объекта LsObject
Get() Получить значение ModuleStorage
GetAll() Получить все значения ModuleStorage
GetBehavior() Возвращает объект поведения по его имени LsObject
GetBehaviors() Возвращает все объекты поведения LsObject
Init() ModuleStorage
Remove() Удалить значение ModuleStorage
RemoveAll() Удалить все значения ModuleStorage
RemoveBehaviorHook() Удаляет хук поведения LsObject
RemoveSmart() Удалить параметр кеша сессии (без записи в хранилище) ModuleStorage
Reset() Сбросить кеш сессии (без записи в хранилище) ModuleStorage
RunBehaviorHook() Запускает хук поведения на выполнение LsObject
Set() Установить значение ModuleStorage
SetInit() Помечает модуль как инициализированный Module
SetSmart() Сохранить значение параметра на время сессии (без записи в хранилище) ModuleStorage
Shutdown() Метод срабатывает при завершении работы ядра Module
Store() Записать в хранилище значения параметров из кеша сессии ModuleStorage
__call() Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля LsObject
__clone() Блокируем копирование/клонирование объекта Module
__construct() Конструктор, запускается автоматически при создании объекта LsObject
__get() Обработка доступа к объекты поведения LsObject
isInit() Возвращает значение флага инициализации модуля Module

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
CheckCaller() Проверить корректность указания контекста ModuleStorage
DeleteFieldOne() Удалить из БД ключ ModuleStorage
GetFieldOne() Получить из БД строковое значение одного ключа ModuleStorage
GetFieldsAll() Получить из БД все ключи в "сыром" виде ModuleStorage
GetKeyForCaller() Получить имя ключа из текущего, вызывающего метод, контекста ModuleStorage
GetOneParam() Получить значение параметра для ключа ModuleStorage
GetParamsAll() Получить список всех параметров ключа ModuleStorage
GetParamsValuesFromRawData() Получить массив используемых значений параметров ключа по "сырым" данным из БД ModuleStorage
PackValue() Перевести данные в строковый вид (сериализировать) ModuleStorage
PrepareBehaviors() Инициализация поведений LsObject
PrepareParamValueBeforeSaving() Подготовка значения параметра перед сохранением ModuleStorage
RemoveAllParams() Удалить все параметры ключа ModuleStorage
RemoveOneParam() Удалить значение параметра для ключа ModuleStorage
RemoveSmartParam() Удалить значение параметра для ключа на время сессии (без записи в хранилище) ModuleStorage
ResetSessionCache() Сбросить кеш сессии (без записи в хранилище) ModuleStorage
RetrieveParamValueFromSavedValue() Восстановление значения параметра ModuleStorage
SetFieldOne() Записать в БД строку одного ключа ModuleStorage
SetOneParam() Сохранить значение параметра для ключа ModuleStorage
SetSmartParam() Сохранить значение параметра для ключа на время сессии (без записи в хранилище) ModuleStorage
Setup() Настройка ModuleStorage
StoreParams() Записать в хранилище значения параметров для ключа из кеша сессии ModuleStorage
UnpackValue() Восстановить данные из строкового вида (десериализировать) ModuleStorage

Property Details

aSessionCache property
protected $aSessionCache;

oMapperStorage property
protected $oMapperStorage;

Method Details

CheckCaller() method
protected void CheckCaller($oCaller $oCaller)
$oCaller $oCaller контекст, вызывающий метод
Source Code: /framework/classes/modules/storage/Storage.class.php#542 (show)
protected function CheckCaller($oCaller)
{
    
/*
     * контекст должен быть указан или нулл для движка
     */
    
if (!is_object($oCaller) and !is_null($oCaller)) {
        throw new 
Exception('Storage: caller is not correct. Always use "$this" for caller value. Also it can be set to NULL for engine calls');
    }
}

Проверить корректность указания контекста

DeleteFieldOne() method
protected mixed DeleteFieldOne($sKey $sKey, string $sInstance='default')
$sKey $sKey ключ
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#166 (show)
protected function DeleteFieldOne($sKey$sInstance self::DEFAULT_INSTANCE)
{
    
$sKey = (string)$sKey;
    
$sInstance = (string)$sInstance;
    
/*
     * сбросить кеш по тегу
     */
    
$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('storage_field_data'));
    
/*
     * построить строку части WHERE запроса
     */
    
$sWhere $this->oMapperStorage->BuildFilter(array(
        
'key'      => $sKey,
        
'instance' => $sInstance
    
));
    
/*
     * удалить данные
     */
    
return $this->oMapperStorage->DeleteData($sWhere1);
}

Удалить из БД ключ

Get() method
public null Get($sParamName $sParamName, $oCaller $oCaller=NULL, string $sInstance='default')
$sParamName $sParamName параметр
$oCaller $oCaller контекст, вызывающий метод
$sInstance string инстанция
{return} null
Source Code: /framework/classes/modules/storage/Storage.class.php#583 (show)
public function Get($sParamName$oCaller null$sInstance self::DEFAULT_INSTANCE)
{
    
$sCallerName $this->GetKeyForCaller($oCaller);
    return 
$this->GetOneParam($sCallerName$sParamName$sInstance);
}

Получить значение

GetAll() method
public array GetAll($oCaller $oCaller=NULL, string $sInstance='default')
$oCaller $oCaller контекст, вызывающий метод
$sInstance string инстанция
{return} array
Source Code: /framework/classes/modules/storage/Storage.class.php#597 (show)
public function GetAll($oCaller null$sInstance self::DEFAULT_INSTANCE)
{
    
$sCallerName $this->GetKeyForCaller($oCaller);
    return 
$this->GetParamsAll($sCallerName$sInstance);
}

Получить все значения

GetFieldOne() method
protected mixed GetFieldOne($sKey $sKey, string $sInstance='default')
$sKey $sKey ключ
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#123 (show)
protected function GetFieldOne($sKey$sInstance self::DEFAULT_INSTANCE)
{
    
$sKey = (string)$sKey;
    
$sInstance = (string)$sInstance;
    
/*
     * построить ключ для кеша
     */
    
$sCacheKey self::CACHE_FIELD_DATA_PREFIX $sKey '_' $sInstance;
    
/*
     * есть ли такие данные в кеше
     */
    
if (($mData $this->Cache_Get($sCacheKey)) === false) {
        
/*
         * построить строку части WHERE запроса
         */
        
$sWhere $this->oMapperStorage->BuildFilter(array(
            
'key'      => $sKey,
            
'instance' => $sInstance
        
));
        
$mData null;
        
/*
         * получить данные
         */
        
$aResult $this->oMapperStorage->GetData($sWhere11);
        
/*
         * есть ли данные
         */
        
if ($aResult['count'] != 0) {
            
$mData $aResult['collection']['value'];
            
$this->Cache_Set($mData$sCacheKey, array('storage_field_data'), 60 60 24 365);    // 1 год
        
}
    }
    return 
$mData;
}

Получить из БД строковое значение одного ключа

GetFieldsAll() method
protected mixed GetFieldsAll(string $sInstance='default')
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#194 (show)
protected function GetFieldsAll($sInstance self::DEFAULT_INSTANCE)
{
    
$sInstance = (string)$sInstance;
    
/*
     * построить ключ для кеша
     */
    
$sCacheKey self::CACHE_FIELD_DATA_PREFIX '_fields_all_' $sInstance;
    
/*
     * есть ли такие данные в кеше
     */
    
if (($mData $this->Cache_Get($sCacheKey)) === false) {
        
/*
         * построить строку части WHERE запроса
         */
        
$sWhere $this->oMapperStorage->BuildFilter(array(
            
'instance' => $sInstance
        
));
        
/*
         * получить данные
         */
        
$mData $this->oMapperStorage->GetData($sWhere);
        
$this->Cache_Set($mData$sCacheKey, array('storage_field_data'), 60 60 24 365);    // 1 год
    
}
    return 
$mData;
}

Получить из БД все ключи в "сыром" виде

GetKeyForCaller() method
protected string GetKeyForCaller($oCaller $oCaller=NULL)
$oCaller $oCaller контекст, вызывающий метод (для движка можно указывать null)
{return} string
Source Code: /framework/classes/modules/storage/Storage.class.php#520 (show)
protected function GetKeyForCaller($oCaller null)
{
    
$this->CheckCaller($oCaller);
    
/*
     * Получаем имя плагина, если возможно
     */
    
if (!$sCaller strtolower(Engine::GetPluginName($oCaller))) {
        
/*
         * Если имени нет - значит это вызов ядра
         */
        
return self::DEFAULT_KEY_NAME;
    }
    return 
self::PLUGIN_PREFIX $sCaller;
}

Получить имя ключа из текущего, вызывающего метод, контекста

GetOneParam() method
protected null GetOneParam($sKey $sKey, $sParamName $sParamName, string $sInstance='default')
$sKey $sKey ключ
$sParamName $sParamName параметр
$sInstance string инстанция
{return} null
Source Code: /framework/classes/modules/storage/Storage.class.php#377 (show)
protected function GetOneParam($sKey$sParamName$sInstance self::DEFAULT_INSTANCE)
{
    
/*
     * Если значение есть в кеше сессии - получить его
     */
    
if (isset($this->aSessionCache[$sInstance][$sKey][$sParamName])) {
        return 
$this->aSessionCache[$sInstance][$sKey][$sParamName];
    }
    
/*
     * Получить одно значение
     */
    
if ($aFieldData $this->GetParamsAll($sKey$sInstance) and isset($aFieldData[$sParamName])) {
        return 
$aFieldData[$sParamName];
    }
    return 
null;
}

Получить значение параметра для ключа

GetParamsAll() method
protected array GetParamsAll($sKey $sKey, string $sInstance='default')
$sKey $sKey ключ
$sInstance string инстанция
{return} array
Source Code: /framework/classes/modules/storage/Storage.class.php#320 (show)
protected function GetParamsAll($sKey$sInstance self::DEFAULT_INSTANCE)
{
    
/*
     * Если значение есть в кеше сессии - получить его
     */
    
if (isset($this->aSessionCache[$sInstance][$sKey])) {
        return 
$this->aSessionCache[$sInstance][$sKey];
    }
    
/*
     * Если есть запись для ключа и она не повреждена и корректна
     */
    
if ($sFieldData $this->GetFieldOne($sKey$sInstance)) {
        return 
$this->GetParamsValuesFromRawData($sKey$sFieldData$sInstance);
    }
    return array();
}

Получить список всех параметров ключа

GetParamsValuesFromRawData() method
protected array GetParamsValuesFromRawData($sKey $sKey, $sFieldData $sFieldData, $sInstance $sInstance='default')
$sKey $sKey ключ
$sFieldData $sFieldData "сырые" (серилизированные) данные ключа
$sInstance $sInstance инстанция
{return} array данные
Source Code: /framework/classes/modules/storage/Storage.class.php#290 (show)
protected function GetParamsValuesFromRawData($sKey$sFieldData$sInstance self::DEFAULT_INSTANCE)
{
    if (
$aData $this->UnpackValue($sFieldData) and is_array($aData)) {
        
/*
         * Восстановить значения параметров ключа
         */
        
$aData array_map(array($this'RetrieveParamValueFromSavedValue'), $aData);
        
/*
         * Сохранить в кеше сессии распакованные значения
         */
        
$this->aSessionCache[$sInstance][$sKey] = $aData;
        return 
$aData;
    }
    return array();
}

Получить массив используемых значений параметров ключа по "сырым" данным из БД

Init() method
public void Init()
Source Code: /framework/classes/modules/storage/Storage.class.php#66 (show)
public function Init()
{
    
$this->Setup();
}

PackValue() method
protected string PackValue($mValue $mValue)
$mValue $mValue значение
{return} string
Source Code: /framework/classes/modules/storage/Storage.class.php#261 (show)
protected function PackValue($mValue)
{
    return 
serialize($mValue);
}

Перевести данные в строковый вид (сериализировать)

PrepareParamValueBeforeSaving() method
protected string PrepareParamValueBeforeSaving($mValue $mValue)
$mValue $mValue значение
{return} string
Source Code: /framework/classes/modules/storage/Storage.class.php#234 (show)
protected function PrepareParamValueBeforeSaving($mValue)
{
    if (
is_resource($mValue)) {
        throw new 
Exception('Storage: your data must be scalar value, not resource!');
    }
    return 
$mValue;
}

Подготовка значения параметра перед сохранением

Remove() method
public mixed Remove($sParamName $sParamName, $oCaller $oCaller=NULL, string $sInstance='default')
$sParamName $sParamName параметр
$oCaller $oCaller контекст, вызывающий метод
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#612 (show)
public function Remove($sParamName$oCaller null$sInstance self::DEFAULT_INSTANCE)
{
    
$sCallerName $this->GetKeyForCaller($oCaller);
    return 
$this->RemoveOneParam($sCallerName$sParamName$sInstance);
}

Удалить значение

RemoveAll() method
public mixed RemoveAll($oCaller $oCaller=NULL, string $sInstance='default')
$oCaller $oCaller контекст, вызывающий метод
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#626 (show)
public function RemoveAll($oCaller null$sInstance self::DEFAULT_INSTANCE)
{
    
$sCallerName $this->GetKeyForCaller($oCaller);
    return 
$this->RemoveAllParams($sCallerName$sInstance);
}

Удалить все значения

RemoveAllParams() method
protected mixed RemoveAllParams($sKey $sKey, string $sInstance='default')
$sKey $sKey ключ
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#428 (show)
protected function RemoveAllParams($sKey$sInstance self::DEFAULT_INSTANCE)
{
    
/*
     * Удалить все значения из кеша сессии
     */
    
unset($this->aSessionCache[$sInstance][$sKey]);
    return 
$this->DeleteFieldOne($sKey$sInstance);
}

Удалить все параметры ключа

RemoveOneParam() method
protected mixed RemoveOneParam($sKey $sKey, $sParamName $sParamName, string $sInstance='default')
$sKey $sKey ключ
$sParamName $sParamName параметр
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#403 (show)
protected function RemoveOneParam($sKey$sParamName$sInstance self::DEFAULT_INSTANCE)
{
    
/*
     * Удалить значение из кеша сессии
     */
    
unset($this->aSessionCache[$sInstance][$sKey][$sParamName]);
    
/*
     * Удалить параметр
     */
    
$aParamsContainer $this->GetParamsAll($sKey$sInstance);
    unset(
$aParamsContainer[$sParamName]);
    
/*
     * записать упакованные данные в строку
     */
    
return $this->SetFieldOne($sKey$this->PackValue($aParamsContainer), $sInstance);
}

Удалить значение параметра для ключа

RemoveSmart() method
public void RemoveSmart($sParamName $sParamName, $oCaller $oCaller=NULL, string $sInstance='default')
$sParamName $sParamName параметр
$oCaller $oCaller контекст, вызывающий метод
$sInstance string инстанция
Source Code: /framework/classes/modules/storage/Storage.class.php#661 (show)
public function RemoveSmart($sParamName$oCaller null$sInstance self::DEFAULT_INSTANCE)
{
    
$sCallerName $this->GetKeyForCaller($oCaller);
    
$this->RemoveSmartParam($sCallerName$sParamName$sInstance);
}

Удалить параметр кеша сессии (без записи в хранилище)

RemoveSmartParam() method
protected void RemoveSmartParam($sKey $sKey, $sParamName $sParamName, string $sInstance='default')
$sKey $sKey ключ
$sParamName $sParamName параметр
$sInstance string инстанция
Source Code: /framework/classes/modules/storage/Storage.class.php#466 (show)
protected function RemoveSmartParam($sKey$sParamName$sInstance self::DEFAULT_INSTANCE)
{
    
/*
     * tip: В первый запрос все данные будут загружены в сессионное хранилище и при повторном вызове они не будут затираться
     */
    
$this->GetParamsAll($sKey$sInstance);
    
/*
     * Удалить в кеше сессии
     */
    
unset($this->aSessionCache[$sInstance][$sKey][$sParamName]);
}

Удалить значение параметра для ключа на время сессии (без записи в хранилище)

Reset() method
public void Reset($oCaller $oCaller=NULL, string $sInstance='default')
$oCaller $oCaller контекст, вызывающий метод
$sInstance string инстанция
Source Code: /framework/classes/modules/storage/Storage.class.php#688 (show)
public function Reset($oCaller null$sInstance self::DEFAULT_INSTANCE)
{
    
$sCallerName $this->GetKeyForCaller($oCaller);
    
$this->ResetSessionCache($sCallerName$sInstance);
}

Сбросить кеш сессии (без записи в хранилище)

ResetSessionCache() method
protected void ResetSessionCache(null $sKey=NULL, string $sInstance='default')
$sKey null ключ
$sInstance string инстанция
Source Code: /framework/classes/modules/storage/Storage.class.php#498 (show)
protected function ResetSessionCache($sKey null$sInstance self::DEFAULT_INSTANCE)
{
    if (!
is_null($sKey)) {
        unset(
$this->aSessionCache[$sInstance][$sKey]);
    } else {
        unset(
$this->aSessionCache[$sInstance]);
    }
}

Сбросить кеш сессии (без записи в хранилище)

RetrieveParamValueFromSavedValue() method
protected mixed|null RetrieveParamValueFromSavedValue($mValue $mValue)
$mValue $mValue значение
{return} mixed|null
Source Code: /framework/classes/modules/storage/Storage.class.php#249 (show)
protected function RetrieveParamValueFromSavedValue($mValue)
{
    return 
$mValue;
}

Восстановление значения параметра

Set() method
public mixed Set($sParamName $sParamName, $mValue $mValue, $oCaller $oCaller=NULL, string $sInstance='default')
$sParamName $sParamName параметр
$mValue $mValue значение
$oCaller $oCaller контекст, вызывающий метод
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#568 (show)
public function Set($sParamName$mValue$oCaller null$sInstance self::DEFAULT_INSTANCE)
{
    
$sCallerName $this->GetKeyForCaller($oCaller);
    return 
$this->SetOneParam($sCallerName$sParamName$mValue$sInstance);
}

Установить значение

SetFieldOne() method
protected mixed SetFieldOne($sKey $sKey, $sValue $sValue, string $sInstance='default')
$sKey $sKey ключ
$sValue $sValue значение
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#97 (show)
protected function SetFieldOne($sKey$sValue$sInstance self::DEFAULT_INSTANCE)
{
    
/*
     * низкоуровневая обработка данных происходит только со строковыми значениями
     */
    
$sKey = (string)$sKey;
    
$sValue = (string)$sValue;
    
$sInstance = (string)$sInstance;
    
/*
     * сбросить кеш по тегу
     */
    
$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('storage_field_data'));
    
/*
     * добавить запись в хранилище для ключа
     */
    
return $this->oMapperStorage->SetData($sKey$sValue$sInstance);
}

Записать в БД строку одного ключа

SetOneParam() method
protected mixed SetOneParam($sKey $sKey, $sParamName $sParamName, $mValue $mValue, string $sInstance='default')
$sKey $sKey ключ
$sParamName $sParamName параметр
$mValue $mValue значение
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#347 (show)
protected function SetOneParam($sKey$sParamName$mValue$sInstance self::DEFAULT_INSTANCE)
{
    
/*
     * Подготовить значение перед сохранением
     */
    
$mValueChecked $this->PrepareParamValueBeforeSaving($mValue);
    
/*
     * Объеденить с остальными параметрами ключа
     */
    
$aParamsContainer $this->GetParamsAll($sKey$sInstance);
    
$aParamsContainer[$sParamName] = $mValueChecked;
    
/*
     * Сохранить в кеше сессии оригинальное значение
     */
    
$this->aSessionCache[$sInstance][$sKey][$sParamName] = $mValue;
    
/*
     * записать упакованные данные в строку
     */
    
return $this->SetFieldOne($sKey$this->PackValue($aParamsContainer), $sInstance);
}

Сохранить значение параметра для ключа

SetSmart() method
public void SetSmart($sParamName $sParamName, $mValue $mValue, $oCaller $oCaller=NULL, string $sInstance='default')
$sParamName $sParamName параметр
$mValue $mValue значение
$oCaller $oCaller контекст, вызывающий метод
$sInstance string инстанция
Source Code: /framework/classes/modules/storage/Storage.class.php#647 (show)
public function SetSmart($sParamName$mValue$oCaller null$sInstance self::DEFAULT_INSTANCE)
{
    
$sCallerName $this->GetKeyForCaller($oCaller);
    
$this->SetSmartParam($sCallerName$sParamName$mValue$sInstance);
}

Сохранить значение параметра на время сессии (без записи в хранилище)

SetSmartParam() method
protected void SetSmartParam($sKey $sKey, $sParamName $sParamName, $mValue $mValue, string $sInstance='default')
$sKey $sKey ключ
$sParamName $sParamName параметр
$mValue $mValue значение
$sInstance string инстанция
Source Code: /framework/classes/modules/storage/Storage.class.php#446 (show)
protected function SetSmartParam($sKey$sParamName$mValue$sInstance self::DEFAULT_INSTANCE)
{
    
/*
     * tip: В первый запрос все данные будут загружены в сессионное хранилище и при повторном вызове они не будут затираться
     */
    
$this->GetParamsAll($sKey$sInstance);
    
/*
     * Сохранить в кеше сессии
     */
    
$this->aSessionCache[$sInstance][$sKey][$sParamName] = $mValue;
}

Сохранить значение параметра для ключа на время сессии (без записи в хранилище)

Setup() method
protected void Setup()
Source Code: /framework/classes/modules/storage/Storage.class.php#75 (show)
protected function Setup()
{
    
$this->oMapperStorage Engine::GetMapper(__CLASS__);
}

Настройка

Store() method
public mixed Store($oCaller $oCaller=NULL, string $sInstance='default')
$oCaller $oCaller контекст, вызывающий метод
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#675 (show)
public function Store($oCaller null$sInstance self::DEFAULT_INSTANCE)
{
    
$sCallerName $this->GetKeyForCaller($oCaller);
    return 
$this->StoreParams($sCallerName$sInstance);
}

Записать в хранилище значения параметров из кеша сессии

StoreParams() method
protected mixed StoreParams($sKey $sKey, string $sInstance='default')
$sKey $sKey ключ
$sInstance string инстанция
{return} mixed
Source Code: /framework/classes/modules/storage/Storage.class.php#486 (show)
protected function StoreParams($sKey$sInstance self::DEFAULT_INSTANCE)
{
    return 
$this->SetFieldOne($sKey$this->PackValue($this->aSessionCache[$sInstance][$sKey]), $sInstance);
}

Записать в хранилище значения параметров для ключа из кеша сессии

UnpackValue() method
protected mixed|null UnpackValue($mValue $mValue)
$mValue $mValue значение
{return} mixed|null
Source Code: /framework/classes/modules/storage/Storage.class.php#273 (show)
protected function UnpackValue($mValue)
{
    if ((
$mData = @unserialize($mValue)) !== false) {
        return 
$mData;
    }
    return 
null;
}

Восстановить данные из строкового вида (десериализировать)