Spec-Zone.ru › Yii 1.1

CCacheHttpSession

Пакет system.web
Наследование класс CCacheHttpSession » CHttpSession » CApplicationComponent » CComponent
Реализует Countable, ArrayAccess, Traversable, IteratorAggregate, IApplicationComponent
С момента 1.0
Исходный код framework/web/CCacheHttpSession.php
CCacheHttpSession реализует компонент сессии, используя кэш в качестве хранилища.

Используемый кэш может быть любым компонентом приложения кэша, реализующим интерфейс ICache. Идентификатор компонента приложения кэша задаётся через cacheID, по умолчанию равный 'cache'.

Обратите внимание, что кэширование по определению является непостоянным, что означает, что данные, хранящиеся в нём, могут быть замещены и потеряны. Поэтому вы должны убедиться, что используемый этим компонентом кэш НЕ является непостоянным. Если вы хотите использовать CDbCache в качестве хранилища, используйте CDbHttpSession - это лучший выбор.

Общественные свойства

Свойство Тип Описание Определено
autoStart boolean указывает, должна ли сессия автоматически запускаться при инициализации компонента приложения сессии, по умолчанию true. CHttpSession
behaviors array поведения, которые должны быть прикреплены к этому компоненту. CApplicationComponent
cacheID string идентификатор компонента приложения кэша. CCacheHttpSession
cookieMode string способ использования cookie для хранения идентификатора сессии. CHttpSession
cookieParams array параметры cookie сессии. CHttpSession
count integer Возвращает количество элементов в сессии. CHttpSession
gCProbability float вероятность (процент) запуска процесса сборки мусора (gc) при каждом запуске сессии, по умолчанию 1 (1%). CHttpSession
isInitialized boolean Проверяет, был ли инициализирован этот компонент приложения. CApplicationComponent
isStarted boolean указывает, была ли запущена сессия CHttpSession
iterator CHttpSessionIterator Возвращает итератор для обхода переменных сессии. CHttpSession
keys array список имён переменных сессии CHttpSession
savePath string текущий путь сохранения сессии, по умолчанию {@link http://php. CHttpSession
sessionID string текущий идентификатор сессии CHttpSession
sessionName string текущее имя сессии CHttpSession
timeout integer количество секунд, по истечении которых данные будут считаться 'мусором' и удалены, по умолчанию 1440 секунд. CHttpSession
useCustomStorage boolean Возвращает значение, указывающее, использовать ли пользовательское хранилище сессий. CCacheHttpSession
useTransparentSessionID boolean Включена ли поддержка прозрачных идентификаторов сессии или нет, по умолчанию false. CHttpSession

Публичные методы

Метод Описание Определено в
__call() Вызывает метод с указанным именем, который не является методом класса. CComponent
__get() Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. CComponent
__isset() Проверяет, является ли значение свойства нулевым. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в значение null. CComponent
add() Добавляет переменную сессии. CHttpSession
asa() Возвращает объект поведения с указанным именем. CComponent
attachBehavior() Прикрепляет поведение к этому компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик события к событию. CComponent
canGetProperty() Определяет, может ли свойство быть прочитано. CComponent
canSetProperty() Определяет, может ли свойство быть установлено. CComponent
clear() Удаляет все переменные сессии. CHttpSession
close() Завершает текущую сессию и сохраняет данные сессии. CHttpSession
closeSession() Обработчик закрытия сессии. CHttpSession
contains() CHttpSession
count() Возвращает количество элементов в сессии. CHttpSession
destroy() Освобождает все переменные сессии и уничтожает все данные, зарегистрированные в сессии. CHttpSession
destroySession() Обработчик уничтожения сессии. CCacheHttpSession
detachBehavior() Открепляет поведение от компонента. CComponent
detachBehaviors() Открепляет все поведения от компонента. CComponent
detachEventHandler() Открепляет существующий обработчик события. CComponent
disableBehavior() Отключает прикреплённое поведение. CComponent
disableBehaviors() Отключает все прикреплённые поведения к этому компоненту. CComponent
enableBehavior() Включает прикреплённое поведение. CComponent
enableBehaviors() Включает все прикреплённые к этому компоненту поведения. CComponent
evaluateExpression() Вычисляет выражение PHP или обратный вызов в контексте этого компонента. CComponent
gcSession() Обработчик GC (уборки мусора) сессии. CHttpSession
get() Возвращает значение переменной сессии по имени переменной сессии. CHttpSession
getCookieMode() Возвращает способ использования cookie для хранения ID сессии. По умолчанию «Разрешено». CHttpSession
getCookieParams() Возвращает параметры cookie сессии. CHttpSession
getCount() Возвращает количество элементов в сессии. CHttpSession
getEventHandlers() Возвращает список прикрепленных обработчиков событий для события. CComponent
getGCProbability() Возвращает вероятность (в процентах) запуска процесса gc (уборки мусора) при каждой инициализации сессии. По умолчанию 1 (1% шанс). CHttpSession
getIsInitialized() Проверяет, был ли инициализирован этот компонент приложения. CApplicationComponent
getIsStarted() Проверяет, началась ли сессия. CHttpSession
getIterator() Возвращает итератор для обхода переменных сессии. CHttpSession
getKeys() Возвращает список имён переменных сессии. CHttpSession
getSavePath() Возвращает текущий путь сохранения сессии, по умолчанию http://php.net/session.save_path. CHttpSession
getSessionID() Возвращает текущий ID сессии. CHttpSession
getSessionName() Возвращает текущее имя сессии. CHttpSession
getTimeout() Возвращает количество секунд, после которого данные будут считаться 'мусором' и очищены. По умолчанию 1440 секунд. CHttpSession
getUseCustomStorage() Возвращает значение, указывающее использовать ли пользовательское хранилище сессии. CCacheHttpSession
getUseTransparentSessionID() Возвращает, включена ли поддержка прозрачного sid или нет. По умолчанию false. CHttpSession
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли прикреплённые обработчики для указанного события. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует компонент приложения. CCacheHttpSession
itemAt() Возвращает значение переменной сессии по имени переменной сессии. CHttpSession
offsetExists() Этот метод требуется интерфейсом ArrayAccess. CHttpSession
offsetGet() Этот метод требуется интерфейсом ArrayAccess. CHttpSession
offsetSet() Этот метод требуется интерфейсом ArrayAccess. CHttpSession
offsetUnset() Этот метод требуется интерфейсом ArrayAccess. CHttpSession
open() Инициализирует сеанс, если он ещё не начат. CHttpSession
openSession() Обработчик открытия сеанса. CHttpSession
raiseEvent() Вызывает событие. CComponent
readSession() Обработчик чтения сеанса. CCacheHttpSession
regenerateID() Обновляет текущий идентификатор сеанса новым сгенерированным. CHttpSession
remove() Удаляет переменную сеанса. CHttpSession
setCookieMode() Устанавливает способ использования cookie для хранения ID сеанса. Допустимые значения включают 'none', 'allow' и 'only'. CHttpSession
setCookieParams() Устанавливает параметры cookie сеанса. CHttpSession
setGCProbability() Устанавливает вероятность (процент) запуска процесса GC (уборки мусора) при каждой инициализации сеанса. CHttpSession
setSavePath() Устанавливает текущий путь сохранения сеанса. CHttpSession
setSessionID() Устанавливает ID сеанса для текущего сеанса. CHttpSession
setSessionName() Устанавливает имя сеанса для текущего сеанса, должно быть строкой из букв и цифр, по умолчанию PHPSESSID. CHttpSession
setTimeout() Устанавливает количество секунд, по истечении которых данные будут считаться 'мусором' и удалены. CHttpSession
setUseTransparentSessionID() Устанавливает, включена ли поддержка прозрачных sid или нет. CHttpSession
toArray() CHttpSession
writeSession() Обработчик записи сеанса. CCacheHttpSession

Защищённые методы

Метод Описание Определён в
calculateKey() Генерирует уникальный ключ для хранения данных сеанса в кэше. CCacheHttpSession

Подробное описание свойств

cacheID свойство

public string $cacheID;

Идентификатор компонента приложения кеша. По умолчанию 'cache' (основной компонент кеша приложения).

useCustomStorage свойство только для чтения

public boolean getUseCustomStorage()

Возвращает значение, указывающее, использовать ли пользовательское хранилище сеанса. Этот метод переопределяет реализацию родительского класса и всегда возвращает true.

Подробное описание методов

calculateKey() метод

protected string calculateKey(string $id)
$id string имя переменной сеанса
{return} string безопасный ключ кэша, связанный с именем переменной сеанса
Исходный код: framework/web/CCacheHttpSession.php#114 (показать)
protected function calculateKey($id)
{
    return 
self::CACHE_KEY_PREFIX.$id;
}

Генерирует уникальный ключ для хранения данных сеанса в кэше.

destroySession() метод

public boolean destroySession(string $id)
$id string ID сеанса
{return} boolean true, если удаление прошло без ошибок
Исходный код: framework/web/CCacheHttpSession.php#103 (показать)
public function destroySession($id)
{
    
$this->_cache->delete($this->calculateKey($id));
    return 
true;
}

Обработчик уничтожения сеанса. Не вызывать этот метод напрямую.

Начиная с версии 1.1.18, этот метод всегда возвращает true. Подробнее см. https://github.com/yiisoft/yii/issues/4020

getUseCustomStorage() метод

public boolean getUseCustomStorage()
{return} boolean использовать ли пользовательское хранилище.
Исходный код: framework/web/CCacheHttpSession.php#63 (показать)
public function getUseCustomStorage()
{
    return 
true;
}

Возвращает значение, указывающее, использовать ли пользовательское хранилище сеанса. Этот метод переопределяет реализацию родительского класса и всегда возвращает true.

init() метод

public void init()
Исходный код: framework/web/CCacheHttpSession.php#49 (показать)
public function init()
{
    
$this->_cache=Yii::app()->getComponent($this->cacheID);
    if(!(
$this->_cache instanceof ICache))
        throw new 
CException(Yii::t('yii','CCacheHttpSession.cacheID is invalid. Please make sure "{id}" refers to a valid cache application component.',
            array(
'{id}'=>$this->cacheID)));
    
parent::init();
}

Инициализирует компонент приложения. Этот метод переопределяет реализацию родительского класса, проверяя доступность кеша.

readSession() метод

public string readSession(string $id)
$id string ID сеанса
{return} string данные сеанса
Исходный код: framework/web/CCacheHttpSession.php#74 (показать)
public function readSession($id)
{
    
$data=$this->_cache->get($this->calculateKey($id));
    return 
$data===false?'':$data;
}

Обработчик чтения сеанса. Не вызывать этот метод напрямую.

writeSession() метод

public boolean writeSession(string $id, string $data)
$id string ID сеанса
$data string данные сеанса
{return} boolean успешность записи сеанса
Исходный код: framework/web/CCacheHttpSession.php#87 (показать)
public function writeSession($id,$data)
{
    return 
$this->_cache->set($this->calculateKey($id),$data,$this->getTimeout());
}

Обработчик записи сеанса. Не вызывать этот метод напрямую.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CCacheHttpSession

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API