Spec-Zone.ru › CakePHP 3.7

Класс Session

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

Сессии могут быть созданы из значений по умолчанию с помощью 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
    Очищает сессию.
  • close() 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.

close()source public

close( )

Записывает данные и закрывает сессию

Возвращает

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

consume()source public

consume( string $name )

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

Параметры

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

Возвращает

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

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


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 )

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

Передача идентификатора, вы также можете заменить идентификатор сессии, если сессия ещё не была запущена. Обратите внимание, что в зависимости от обработчика сессий, не все символы разрешены в идентификаторе сессии. Например, обработчик файлов сессий допускает только символы в диапазоне 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( )

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

setEngine()source protected

setEngine( SessionHandlerInterface $handler )

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

Параметры

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

Возвращает

SessionHandlerInterface

start()source public

start( )

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

Возвращает

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

Исключения

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

started()source public

started( )

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

Возвращает

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

write()source public

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

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

Параметры

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

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

$_enginesource

protected SessionHandlerInterface

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

$_isCLIsource

protected булево

Является ли эта сессия запущена в среде командной строки

false

$_lifetimesource

protected целое число

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

$_startedsource

protected булево

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

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

Spec-Zone.ru

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