CCacheHttpSession
| Пакет | system.web |
|---|---|
| Наследование | класс CCacheHttpSession » CHttpSession » CApplicationComponent » CComponent |
| Реализует | Countable, ArrayAccess, Traversable, IteratorAggregate, IApplicationComponent |
| С момента | 1.0 |
| Исходный код | framework/web/CCacheHttpSession.php |
Используемый кэш может быть любым компонентом приложения кэша, реализующим интерфейс 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 | безопасный ключ кэша, связанный с именем переменной сеанса |
protected function calculateKey($id)
{
return self::CACHE_KEY_PREFIX.$id;
}
Генерирует уникальный ключ для хранения данных сеанса в кэше.
destroySession() метод
public boolean destroySession(string $id) | ||
| $id | string | ID сеанса |
| {return} | boolean | true, если удаление прошло без ошибок |
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 | использовать ли пользовательское хранилище. |
public function getUseCustomStorage()
{
return true;
}
Возвращает значение, указывающее, использовать ли пользовательское хранилище сеанса. Этот метод переопределяет реализацию родительского класса и всегда возвращает true.
init() метод
public void init() |
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 | данные сеанса |
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 | успешность записи сеанса |
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