Spec-Zone.ru › Yii 2.0

Класс yii\web\CacheSession

Все классы | Свойства | Методы
Наследование yii\web\CacheSession » yii\web\Session » yii\base\Component » yii\base\Object
Реализует ArrayAccess, Countable, IteratorAggregate, yii\base\Configurable
Доступна с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/web/CacheSession.php

CacheSession реализует компонент сессии, используя кэш в качестве хранилища.

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

Обратите внимание, по определению, кэш — это энергозависимое хранилище, что означает, что данные, хранящиеся в нём, могут быть заменены и потеряны. Поэтому необходимо убедиться, что используемый данным компонентом кэш НЕ энергозависимый. Если вы хотите использовать базу данных в качестве хранилища, yii\web\DbSession — лучший выбор.

Следующий пример показывает, как настроить приложение для использования CacheSession: добавьте следующее в конфигурацию вашего приложения под components:

'session' => [
    'class' => 'yii\web\CacheSession',
    // 'cache' => 'mycache',
]

Публичные свойства

Свойство Тип Описание Определено в
$allFlashes массив Сообщения flash (ключ => сообщение или ключ => [сообщение1, сообщение2]). yii\web\Session
$behaviors yii\base\Behavior[] Список поведений, прикреплённых к этому компоненту yii\base\Component
$cache yii\caching\CacheInterface|массив|строка Объект кэша или идентификатор компонента приложения кэша. yii\web\CacheSession
$cookieParams массив Параметры cookie сессии. yii\web\Session
$count целое число Количество переменных сессии yii\web\Session
$flash строка Ключ, идентифицирующий сообщение flash. yii\web\Session
$flashParam строка Имя переменной сессии, хранящей данные сообщения flash. yii\web\Session
$gCProbability вещественное число Вероятность (в процентах) запуска процесса GC (сбор мусора) при каждом инициализации сессии, по умолчанию 1, что означает 1% шанс. yii\web\Session
$handler SessionHandlerInterface|массив Объект, реализующий SessionHandlerInterface, или массив конфигурации. yii\web\Session
$hasSessionId логическое значение Присутствует ли в текущем запросе идентификатор сессии. yii\web\Session
$id строка Текущий идентификатор сессии yii\web\Session
$isActive логическое значение Начата ли сессия yii\web\Session
$iterator yii\web\SessionIterator Итератор для перебора переменных сессии. yii\web\Session
$name строка Текущее имя сессии yii\web\Session
$savePath строка Текущий путь сохранения сессии, по умолчанию '/tmp'. yii\web\Session
$timeout целое число Количество секунд, после которых данные будут считаться 'мусором' и удалены. yii\web\Session
$useCookies логическое значение|null Значение, указывающее, должны ли использоваться cookie для хранения идентификаторов сессий. yii\web\Session
$useCustomStorage логическое значение Использовать ли пользовательское хранилище. yii\web\CacheSession
$useTransparentSessionID логическое значение Включена ли поддержка прозрачного идентификатора SID, по умолчанию false. yii\web\Session

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

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. yii\base\Component
__clone() Этот метод вызывается после создания объекта путём клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства компонента. yii\base\Component
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Component
__set() Устанавливает значение свойства компонента. yii\base\Component
__unset() Устанавливает свойство компонента в значение null. yii\base\Component
addFlash() Добавляет сообщение всплывающего уведомления. yii\web\Session
attachBehavior() Присоединяет поведение к этому компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
behaviors() Возвращает список поведений, по которым должен действовать этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\base\Component
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Component
className() Возвращает полное имя этого класса. yii\base\Object
close() Завершает текущую сессию и сохраняет данные сессии. yii\web\Session
closeSession() Обработчик закрытия сессии. yii\web\Session
count() Возвращает количество элементов в сессии. yii\web\Session
destroy() Освобождает все переменные сессии и уничтожает все данные, зарегистрированные в сессии. yii\web\Session
destroySession() Обработчик уничтожения сессии. yii\web\CacheSession
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
gcSession() Обработчик GC (уборка мусора) сессии. yii\web\Session
get() Возвращает значение переменной сессии по имени переменной сессии. yii\web\Session
getAllFlashes() Возвращает все сообщения всплывающего уведомления. yii\web\Session
getBehavior() Возвращает объект поведения по имени. yii\base\Component
getBehaviors() Возвращает все присоединённые к этому компоненту поведения. yii\base\Component
getCookieParams() yii\web\Session
getCount() Возвращает количество элементов в сессии. yii\web\Session
getFlash() Возвращает сообщение всплывающего уведомления. yii\web\Session
getGCProbability() yii\web\Session
getHasSessionId() Возвращает значение, указывающее, отправлен ли текущий запрос идентификатор сессии. yii\web\Session
getId() Получает идентификатор сессии. yii\web\Session
getIsActive() yii\web\Session
getIterator() Возвращает итератор для обхода переменных сессии. yii\web\Session
getName() Получает имя текущей сессии. yii\web\Session
getSavePath() Получает текущий путь сохранения сессии. yii\web\Session
getTimeout() yii\web\Session
getUseCookies() Возвращает значение, указывающее, следует ли использовать cookie для хранения идентификаторов сессий. yii\web\Session
getUseCustomStorage() Возвращает значение, указывающее, использовать ли пользовательское хранилище сессий. yii\web\CacheSession
getUseTransparentSessionID() yii\web\Session
has() yii\web\Session
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчики, прикрепленные к указанному событию. yii\base\Component
hasFlash() Возвращает значение, указывающее, есть ли сообщения всплывающего уведомления, связанные с указанным ключом. yii\web\Session
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Component
hasProperty() Возвращает значение, указывающее, определено ли свойство для этого компонента. yii\base\Component
init() Инициализирует компонент приложения. yii\web\CacheSession
off() Отсоединяет существующего обработчика событий от этого компонента. yii\base\Component
offsetExists() Этот метод требуется интерфейсом ArrayAccess. yii\web\Session
offsetGet() Этот метод требуется интерфейсом ArrayAccess. yii\web\Session
offsetSet() Этот метод требуется интерфейсом ArrayAccess. yii\web\Session
offsetUnset() Этот метод требуется интерфейсом ArrayAccess. yii\web\Session
on() Присоединяет обработчик событий к событию. yii\base\Component
open() Инициализирует сессию. yii\web\Session
openSession() Обработчик открытия сессии. yii\web\Session
readSession() Обработчик чтения сессии. yii\web\CacheSession
regenerateID() Обновляет текущий идентификатор сессии новым сгенерированным. yii\web\Session
remove() Удаляет переменную сессии. yii\web\Session
removeAll() Удаляет все переменные сессии yii\web\Session
removeAllFlashes() Удаляет все сообщения всплывающих уведомлений. yii\web\Session
removeFlash() Удаляет сообщение всплывающего уведомления. yii\web\Session
set() Добавляет переменную сессии. yii\web\Session
setCookieParams() Устанавливает параметры куки сессии. yii\web\Session
setFlash() Устанавливает сообщение всплывающего уведомления. yii\web\Session
setGCProbability() yii\web\Session
setHasSessionId() Устанавливает значение, указывающее, содержит ли текущий запрос идентификатор сессии. yii\web\Session
setId() Устанавливает идентификатор сессии. yii\web\Session
setName() Устанавливает имя для текущей сессии. yii\web\Session
setSavePath() Устанавливает текущий путь сохранения сессии. yii\web\Session
setTimeout() yii\web\Session
setUseCookies() Устанавливает значение, указывающее, следует ли использовать куки для хранения идентификаторов сессий. yii\web\Session
setUseTransparentSessionID() yii\web\Session
trigger() Вызывает событие. yii\base\Component
writeSession() Обработчик записи сессии. yii\web\CacheSession

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

Метод Описание Определено в
calculateKey() Генерирует уникальный ключ, используемый для хранения данных сессии в кэше. yii\web\CacheSession
registerSessionHandler() Регистрирует обработчик сессии. yii\web\Session
updateFlashCounters() Обновляет счётчики для всплывающих сообщений и удаляет устаревшие сообщения всплывающих уведомлений. yii\web\Session

Подробности свойств

$cache общедоступное свойство

Объект кэша или идентификатор компонента приложения кэша. Данные сессии будут храниться с помощью этого объекта кэша.

После создания объекта CacheSession, если вы хотите изменить это свойство, вы должны назначить ему только объект кэша.

Начиная с версии 2.0.2, это также может быть конфигурационный массив для создания объекта.

public yii\caching\CacheInterface|array|string $cache = 'cache'

$useCustomStorage общедоступное только для чтения свойство

Использовать ли пользовательское хранилище.

public boolean getUseCustomStorage ( )

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

calculateKey() защищённый метод

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

защищённый смешанный calculateKey ( $id )
$id строка

Имя переменной сессии

return смешанный

Безопасный ключ кэша, связанный с именем переменной сессии

destroySession() общедоступный метод

Обработчик уничтожения сессии.

общедоступный булево destroySession ( $id )
$id строка

Идентификатор сессии

return булево

Успешно ли уничтожена сессия

getUseCustomStorage() общедоступный метод

Возвращает значение, указывающее, нужно ли использовать пользовательское хранилище сессии.

Этот метод переопределяет реализацию родительского класса и всегда возвращает true.

общедоступный булево getUseCustomStorage ( )
return булево

Использовать ли пользовательское хранилище.

init() общедоступный метод

Инициализирует компонент приложения.

общедоступный void init ( )

readSession() общедоступный метод

Обработчик чтения сессии.

общедоступный строка readSession ( $id )
$id строка

Идентификатор сессии

return строка

Данные сессии

writeSession() общедоступный метод

Обработчик записи сессии.

общедоступный булево writeSession ( $id, $data )
$id строка

Идентификатор сессии

$data строка

Данные сессии

return булево

Успешна ли запись сессии

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-web-cachesession.html

Spec-Zone.ru

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