Класс 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