Spec-Zone.ru › CakePHP 3.5

Класс Session

Этот класс является обёрткой над встроенными функциями PHP для работы с сессиями. Он предоставляет несколько настроек по умолчанию для наиболее распространённых конфигураций сессий через внешние обработчики и помогает использовать сессии в консоли без предупреждений.

Сессии могут быть созданы из настроек по умолчанию используя Session::create(), или вы можете получить экземпляр новой сессии, просто создав этот класс и передав необходимые параметры.

Если конкретные параметры отсутствуют, этот класс будет использовать настройки по умолчанию из значений конфигурации session.* в файле php.ini. Этот класс также будет изменять такие директивы при предоставлении значений конфигурации.

Пространство имён: Cake\Network
Расположение: Network/Session.php

Краткое описание свойств

  • $_engine protected
    SessionHandlerInterface|null
    Экземпляр обработчика сессий, используемый как движок для сохранения данных сессии.
  • $_isCLI protected
    boolean
    Выполняется ли эта сессия в консольном окружении
  • $_lifetime protected
    integer
    Время в секундах, в течение которого сессия будет действительной
  • $_started protected
    boolean
    Указывает, была ли сессия уже запущена

Краткое описание методов

  • __construct() public
    Конструктор.
  • _defaultConfig() protected static
    Получение одной из предустановленных конфигураций сессии по умолчанию.
  • _hasSession() protected
    Возвращает, существует ли сессия
  • _overwrite() protected
    Используется для записи новых данных в _SESSION, так как PHP не позволяет нам непосредственно устанавливать переменную _SESSION.
  • _timedOut() protected

    Возвращает true, если сессия больше недействительна, потому что последний доступ к ней был после установленного таймаута.

  • check() public
    Возвращает true, если заданное имя переменной установлено в сессии.
  • clear() public
    Очищает сессию.
  • consume() public
    Считывает и удаляет переменную из сессии.
  • create() public static

    Возвращает новый экземпляр сессии после создания набора конфигураций для неё. Эта функция позволяет использовать массив параметров, который будет использован для настройки сессии и используемого обработчика. Самым важным ключом в массиве конфигурации является defaults, который указывает набор конфигураций для наследования, возможные значения по умолчанию:

  • delete() public
    Удаляет переменную из сессии.
  • destroy() public
    Метод для уничтожения недействительных сессий.
  • engine() public

    Устанавливает экземпляр обработчика сессий для использования в этой сессии. Если для первого аргумента передаётся строка, она будет интерпретирована как имя класса, а второй аргумент будет передан как первый аргумент в конструктор.

  • id() public

    Возвращает идентификатор сессии. Вызов этого метода не запускает сессию автоматически. Возможно, придётся вручную начать сессию.

  • options() public

    Вызывает ini_set для каждого ключа в $options и устанавливает их соответствующее значение из переданного массива.

  • read() public
    Возвращает заданную переменную сессии или все переменные, если параметры не заданы.
  • renew() public
    Перезапускает эту сессию.
  • start() public
    Инициализирует сессию.
  • started() public
    Определяет, была ли сессия уже запущена.
  • write() public
    Записывает значение в заданную переменную сессии.

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

__construct()source public

__construct( array $config [] )

Конструктор.

Конфигурация:

  • timeout: Время в минутах, в течение которого сессия должна быть действительной.
  • cookiePath: Путь URL, для которого устанавливается cookie сессии. Соответствует конфигурации session.cookie_path в php.ini. По умолчанию – базовый путь приложения.
  • ini: Список директив php.ini, которые нужно изменить перед началом сессии.
  • handler: Массив, содержащий, по крайней мере, ключ class. Используется как движок сессии для сохранения данных. Остальные ключи массива будут переданы как массив конфигурации для движка. Вы можете установить ключ class на уже созданный экземпляр обработчика сессий.

Параметры

array $config optional []
Конфигурация для применения к этому объекту сессии

_defaultConfig()source protected static

_defaultConfig( string $name )

Получение одной из предустановленных конфигураций сессии по умолчанию.

Параметры

string $name
Имя конфигурации.

Возвращает

boolean|array

_hasSession()source protected

_hasSession( )

Возвращает, существует ли сессия

Возвращает

boolean

_overwrite()source protected

_overwrite( array $old , array $new )

Используется для записи новых данных в _SESSION, так как PHP не позволяет нам непосредственно устанавливать переменную _SESSION.

Параметры

array $old
Набор старых переменных => значений
array $new
Новый набор переменных => значений

_timedOut()source protected

_timedOut( )

Возвращает true, если сессия больше недействительна, потому что последний доступ к ней был после установленного таймаута.

Возвращает

boolean

check()source public

check( string|null $name null )

Возвращает true, если заданное имя переменной установлено в сессии.

Параметры

string|null $name optional null
Имя переменной для проверки

Возвращает

boolean
True, если переменная существует

clear()source public

clear( boolean $renew false )

Очищает сессию.

Также необязательно очищает идентификатор сессии и обновляет сессию.

Параметры

boolean $renew optional false
Если сессия должна быть обновлена. По умолчанию false.

consume()source public

consume( string $name )

Считывает и удаляет переменную из сессии.

Параметры

string $name
Ключ для чтения и удаления (или путь, передаваемый в Hash.extract).

Возвращает

mixed

Значение переменной сессии, null, если сессия недоступна, не запущена или предоставленное имя не найдено в сессии.


END_OF_DOCUMENT_MARKER

create()source public static

create( array $sessionConfig [] )

Возвращает новый экземпляр сессии после построения пакета конфигурации для неё. Эта функция позволяет использовать массив параметров, который будет использован для настройки сессии и обработчика. Самый важный ключ в массиве конфигурации — defaults, который указывает на набор конфигураций, которые следует унаследовать, возможные значения по умолчанию:

  • php: просто используйте сессию, как настроено в php.ini
  • cache: Используйте систему кэширования CakePHP в качестве хранилища для сессии, вам необходимо передать ключ config со значением имени уже настроенного движка кэша.
  • database: Используйте CakePHP ORM для сохранения и управления сессиями. По умолчанию это требует таблицу в вашей базе данных с именем sessions или ключ model в конфигурации, чтобы указать, какой объект таблицы использовать.
  • cake: Используйте файлы для хранения сессий, но пусть CakePHP управляет ими и определяет, где их хранить.

Полный список параметров:

  • defaults: либо 'php', 'database', 'cache' или 'cake', как описано выше.
  • handler: Массив, содержащий конфигурацию обработчика
  • ini: Список директив php.ini, которые следует установить перед началом сессии.
  • timeout: Время в минутах, в течение которого сессия должна оставаться активной

Параметры

массив $sessionConfig необязательно []
Конфигурация сессии.

Возвращает

Cake\Network\Session

См. также

\Cake\Network\Session::__construct()

delete()source public

delete( string $name )

Удаляет переменную из сессии.

Параметры

строка $name
Переменная сессии для удаления

destroy()source public

destroy( )

Вспомогательный метод для уничтожения недействительных сессий.

engine()source public

engine( string|SessionHandlerInterface|null $class null , array $options [] )

Устанавливает экземпляр обработчика сессий, который нужно использовать для этой сессии. Если в качестве первого аргумента передается строка, она будет обрабатываться как имя класса, а второй аргумент будет передан как первый аргумент в конструкторе.

Если в качестве первого аргумента предоставляется экземпляр SessionHandlerInterface, обработчик будет установлен на него.

Если аргументы не переданы, будет возвращен текущий настроенный экземпляр обработчика или null, если он отсутствует.

Параметры

строка|SessionHandlerInterface|null $class необязательно null
Обработчик сессий для использования
массив $options необязательно []
параметры, передаваемые в конструктор SessionHandler

Возвращает

SessionHandlerInterface|null

Выбрасывает

InvalidArgumentException

id()source public

id( string|null $id null )

Возвращает идентификатор сессии. Вызов этого метода не приведет к автоматическому запуску сессии. Возможно, вам придется вручную запустить сессию.

Передача идентификатора в него также позволяет заменить идентификатор сессии, если сессия еще не запущена. Обратите внимание, что в зависимости от обработчика сессий, не все символы разрешены в идентификаторе сессии. Например, обработчик сессий файлов допускает только символы в диапазоне a-z A-Z 0-9 , (запятая) и - (минус).

Параметры

строка|null $id необязательно null
Идентификатор для замены текущего идентификатора сессии

Возвращает

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

options()source public

options( array $options )

Вызывает ini_set для каждого ключа в $options и устанавливает их на соответствующее значение в переданном массиве.

Пример:

$session->options(['session.use_cookies' => 1]);

Параметры

массив $options
Параметры ini для установки.

Выбрасывает

RuntimeException
если какая-либо директива не может быть установлена

read()source public

read( string|null $name null )

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

Параметры

строка|null $name необязательно null
Имя переменной сессии (или путь, как отправлено в Hash.extract)

Возвращает

строка|массив|null

Значение переменной сессии, null, если сессия недоступна, не запущена или указанное имя не найдено в сессии.


renew()source public

renew( )

Перезапускает эту сессию.

start()source public

start( )

Запускает сессию.

Возвращает

boolean
True, если сессия была запущена

Выбрасывает

RuntimeException
если сессия уже была запущена

started()source public

started( )

Определяет, была ли уже запущена сессия.

Возвращает

boolean
True, если сессия была запущена.

write()source public

write( string|array $name , mixed $value null )

Записывает значение в заданную переменную сессии.

Параметры

строка|массив $name
Имя переменной
смешанное $value необязательно null
Значение для записи

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

$_enginesource

protected SessionHandlerInterface|null

Экземпляр обработчика сессий, используемый в качестве движка для сохранения данных сессии.

$_isCLIsource

protected boolean

Является ли эта сессия сессией, выполняемой в среде командной строки

false

$_lifetimesource

protected целое число

Время в секундах, в течение которого сессия будет действительна

$_startedsource

protected boolean

Указывает, была ли сессия уже запущена

false

© 2005–2018 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.5/class-Cake.Network.Session.html

Spec-Zone.ru

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