Spec-Zone.ru › Yii 2.0

Класс yii\mongodb\Session

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

Session расширяет yii\web\Session, используя MongoDB для хранения данных сессии.

По умолчанию Session хранит данные сессии в коллекции с именем 'session' в базе данных по умолчанию. Эту коллекцию лучше предварительно создать с индексированными полями 'id' и 'expire'. Имя коллекции можно изменить, установив $sessionCollection.

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

'session' => [
    'class' => 'yii\mongodb\Session',
    // 'db' => 'mymongodb',
    // 'sessionCollection' => 'my_session',
]

Session расширяет yii\web\MultiFieldSession, поэтому позволяет сохранять дополнительные поля в $sessionCollection. Подробнее см. yii\web\MultiFieldSession.

Подсказка: для повышения производительности можно использовать индекс TTL MongoDB для удаления устаревших сессий. В этом случае необходимо установить yii\mongodb\Session::$gCProbability на 0.

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

Свойство Тип Описание Определено в
$allFlashes массив Сообщения всплывающих подсказок (ключ => сообщение или ключ => [сообщение1, сообщение2]). yii\web\Session
$behaviors yii\base\Behavior[] Список прикрепленных к этому компоненту поведений yii\base\Component
$cookieParams массив Параметры cookie сессии. yii\web\Session
$count целое число Количество переменных сессии yii\web\Session
$db yii\mongodb\Connection|массив|строка Объект подключения к MongoDB или идентификатор компонента приложения MongoDB. yii\mongodb\Session
$flash строка Ключ, идентифицирующий сообщение всплывающей подсказки. yii\web\Session
$flashParam строка Имя переменной сессии, хранящей данные сообщения всплывающей подсказки. 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
$readCallback вызов Обратный вызов, который будет вызван при чтении данных сессии. yii\web\MultiFieldSession
$savePath строка Текущий путь сохранения сессии, по умолчанию '/tmp'. yii\web\Session
$sessionCollection строка|массив Имя коллекции MongoDB, хранящей данные сессии. yii\mongodb\Session
$timeout целое число Количество секунд, после которых данные будут считаться "мусором" и удалены. yii\web\Session
$useCookies логическое значение|null Значение, указывающее, должны ли использоваться cookie для хранения идентификаторов сессии. yii\web\Session
$useCustomStorage логическое значение Использовать ли пользовательское хранилище. yii\web\MultiFieldSession
$useTransparentSessionID логическое значение Включена ли поддержка прозрачного sid, по умолчанию false. yii\web\Session
$writeCallback вызов Обратный вызов, который будет вызван при записи данных сессии. yii\web\MultiFieldSession

Общедоступные методы

Метод Описание Определено в
__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\mongodb\Session
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
gcSession() Обработчик GC (уборки мусора) сессии. yii\mongodb\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\MultiFieldSession
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() Инициализирует компонент Session. yii\mongodb\Session
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\mongodb\Session
regenerateID() Обновляет текущий идентификатор сеанса новым сгенерированным. yii\mongodb\Session
remove() Удаляет переменную сеанса. yii\web\Session
removeAll() Удаляет все переменные сеанса yii\web\Session
removeAllFlashes() Удаляет все всплывающие сообщения. yii\web\Session
removeFlash() Удаляет всплывающее сообщение. yii\web\Session
set() Добавляет переменную сеанса. yii\web\Session
setCookieParams() Устанавливает параметры cookie сеанса. 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() Устанавливает значение, указывающее, следует ли использовать cookie для хранения идентификаторов сеанса. yii\web\Session
setUseTransparentSessionID() yii\web\Session
trigger() Вызывает событие. yii\base\Component
writeSession() Обработчик записи сеанса. yii\mongodb\Session

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

Метод Описание Определен в
composeFields() Составляет набор полей хранения для записи сеанса. yii\web\MultiFieldSession
extractData() Извлекает данные сеанса из набора полей хранения. yii\web\MultiFieldSession
registerSessionHandler() Регистрирует обработчик сеанса. yii\web\Session
updateFlashCounters() Обновляет счетчики для всплывающих сообщений и удаляет устаревшие всплывающие сообщения. yii\web\Session

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

$db общественное свойство

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

public yii\mongodb\Connection|array|string $db = 'mongodb'

$sessionCollection общественное свойство

Имя коллекции MongoDB, которая хранит данные сеанса. Обратитесь к yii\mongodb\Connection::getCollection() для указания этого параметра. Эту коллекцию лучше предварительно создать с индексированными полями 'id' и 'expire'.

public string|array $sessionCollection = 'session'

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

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

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

Не вызывайте этот метод напрямую.

public boolean destroySession ( $id )
$id string

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

return boolean

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

gcSession() общественный метод

Обработчик GC (уборки мусора) сеанса.

Не вызывайте этот метод напрямую.

public boolean gcSession ( $maxLifetime )
$maxLifetime integer

Количество секунд, по истечении которых данные будут считаться "мусором" и будут удалены.

return boolean

Успешно ли выполнена уборка мусора сеанса

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

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

Этот метод инициализирует свойство $db, чтобы убедиться, что оно ссылается на действительное подключение к MongoDB.

public void init ( )
throws yii\base\InvalidConfigException

если $db недействителен.

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

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

Не вызывайте этот метод напрямую.

public string readSession ( $id )
$id string

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

return string

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

regenerateID() общественный метод

Обновляет текущий идентификатор сеанса новым сгенерированным.

Обратитесь к http://php.net/session_regenerate_id для получения дополнительной информации.

public void regenerateID ( $deleteOldSession = false )
$deleteOldSession boolean

Удалить ли старый связанный файл сеанса.

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

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

Не вызывайте этот метод напрямую.

public boolean writeSession ( $id, $data )
$id string

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

$data string

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

return boolean

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

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

Spec-Zone.ru

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