Spec-Zone.ru › CakePHP 3.6

Класс Session

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

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

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

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

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

  • $_engine protected
    SessionHandlerInterface
    Экземпляр обработчика сессий, используемый в качестве движка для сохранения данных сессии.
  • $_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
    Перезапускает эту сессию.
  • setEngine() protected
    Устанавливает свойство движка и обновляет обработчик сессий в PHP.
  • 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 в уже инициализированный объект обработчика сессий.

Параметры

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

_defaultConfig()source protected static

_defaultConfig( string $name )

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

Параметры

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

Возвращает

boolean|массив

_hasSession()source protected

_hasSession( )

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

Возвращает

boolean

_overwrite()source protected

_overwrite( array $old , array $new )

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

Параметры

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

_timedOut()source protected

_timedOut( )

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

Возвращает

boolean

check()source public

check( string|null $name = null )

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

Параметры

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

Возвращает

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

clear()source public

clear( boolean $renew = false )

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

При необходимости также очищает идентификатор сессии и обновляет сессию.

Параметры

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

consume()source public

consume( string $name )

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

Параметры

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

Возвращает

смешанный тип

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


END_OF_DOCUMENT_MARKER

create()source public static

create( array $sessionConfig = [] )

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

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

Полный список опций:

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

Параметры

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

Возвращает

Cake\Http\Session

См. также

\Cake\Http\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 )

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

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

Параметры

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

Возвращает

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

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( )

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

setEngine()source protected

setEngine( SessionHandlerInterface $handler )

Устанавливает свойство engine и обновляет обработчик сессий в PHP.

Параметры

SessionHandlerInterface $handler
Обработчик для установки

Возвращает

SessionHandlerInterface

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

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

$_isCLIsource

protected boolean

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

false

$_lifetimesource

protected целое число

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

$_startedsource

protected boolean

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

© 2005–present 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.6/class-Cake.Http.Session.html

Spec-Zone.ru

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