Spec-Zone.ru › CakePHP 3.8

Класс 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
    Устанавливает свойство engine и обновляет обработчик сессий в 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, если сессия была запущена

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 в конфигурации, чтобы указать, какой объект таблицы использовать.
  • cake: Используйте файлы для хранения сессий, но позвольте CakePHP управлять ими и решать, где их хранить.

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

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

Параметры

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

Возвращает

Cake\Http\Session

См. также

\Cake\Http\Session::__construct()

delete()source public

delete( string $name )

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

Параметры

string $name
Переменная сессии для удаления

destroy()source public

destroy( )

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

engine()source public

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

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

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

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

Параметры

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

Возвращает

SessionHandlerInterface|null

Исключения

InvalidArgumentException

id()source public

id( string|null $id = null )

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

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

Параметры

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

Возвращает

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

options()source public

options( array $options )

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

Пример:

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

Параметры

array $options
Опции ini для установки.

Исключения

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

read()source public

read( string|null $name = null )

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

Параметры

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

Возвращает

string|array|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 )

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

Параметры

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

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

$_enginesource

protected SessionHandlerInterface

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

$_isCLIsource

protected boolean

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

false

$_lifetimesource

protected integer

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

$_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.8/class-Cake.Http.Session.html

Spec-Zone.ru

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