Spec-Zone.ru › CakePHP 4.4

Класс Session

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

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

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

Пространство имён: Cake\Http

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

  • $_engine protected
    SessionHandlerInterface

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

  • $_isCLI protected
    bool

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

  • $_lifetime protected
    int

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

  • $_started protected
    bool

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

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

  • __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

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

  • readOrFail() public

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

  • renew() public

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

  • setEngine() protected

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

  • start() public

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

  • started() public

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

  • write() public

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

END_OF_DOCUMENT_MARKER

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

__construct() public

__construct(array<string, mixed> $config = [])

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

Настройка:

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

Параметры

array<string, mixed> $config необязательный

Настройка, которую нужно применить к этому объекту сессии

_defaultConfig() protected static

_defaultConfig(string $name): array|false

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

Параметры

string $name

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

Возвращает

array|false

_hasSession() protected

_hasSession(): bool

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

Возвращает

bool

_overwrite() protected

_overwrite(array $old, array $new): void

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

Параметры

array $old

Набор старых переменных => значений

array $new

Новый набор переменных => значений

Возвращает

void

_timedOut() protected

_timedOut(): bool

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

Возвращает

bool

check() public

check(string|null $name = null): bool

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

Параметры

string|null $name необязательный

Имя переменной для проверки

Возвращает

bool

clear() public

clear(bool $renew = false): void

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

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

Параметры

bool $renew необязательный

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

Возвращает

void

close() public

close(): true

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

Возвращает

true

consume() public

consume(string $name): mixed|null

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

Параметры

string $name

Ключ для чтения и удаления (или путь, как в Hash.extract).

Возвращает

mixed|null

create() public static

create(array $sessionConfig = []): static

Возвращает новый экземпляр сессии после создания пакета конфигурации для него. Эта функция позволяет использовать массив параметров, который будет использоваться для настройки сессии и используемого обработчика. Самый важный ключ в массиве конфигурации — 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 необязательный

Конфигурация сессии.

Возвращает

static

См. также

\Cake\Http\Session::__construct()

delete() public

delete(string $name): void

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

Параметры

string $name

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

Возвращает

void

destroy() public

destroy(): void

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

Возвращает

void

engine() public

engine(SessionHandlerInterface|string|null $class = null, array<string, mixed> $options = []): SessionHandlerInterface|null

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

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

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

Параметры

SessionHandlerInterface|string|null $class необязательный

Обработчик сессии для использования

array<string, mixed> $options необязательный

параметры, передаваемые конструктору SessionHandler

Возвращает

SessionHandlerInterface|null

Исключения

InvalidArgumentException

id() public

id(string|null $id = null): string

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

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

Параметры

string|null $id необязательный

Идентификатор для замены текущего идентификатора сессии

Возвращает

string

options() public

options(array<string, mixed> $options): void

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

Пример:

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

Параметры

array<string, mixed> $options

Параметры ini.

Возвращает

void

Исключения

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

read() public

read(string|null $name = null, mixed $default = null): mixed|null

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

Параметры

string|null $name необязательный

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

mixed $default необязательный

Значение, возвращаемое, когда путь не существует

Возвращает

mixed|null

readOrFail() public

readOrFail(string $name): mixed|null

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

Параметры

string $name

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

Возвращает

mixed|null

Исключения

RuntimeException

renew() public

renew(): void

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

Возвращает

void

setEngine() protected

setEngine(SessionHandlerInterface $handler): SessionHandlerInterface

Установите свойство движка и обновите обработчик сеанса в PHP.

Параметры

SessionHandlerInterface $handler

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

Возвращает

SessionHandlerInterface

start() public

start(): bool

Запускает сеанс.

Возвращает

bool

Выбрасывает

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

started() public

started(): bool

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

Возвращает

bool

write() public

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

Записывает значение в заданное имя переменной сеанса.

Параметры

array|string $name

Имя переменной

mixed $value optional

Значение для записи

Возвращает

void

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

$_engine protected

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

Тип

SessionHandlerInterface

$_isCLI protected

Указывает, работает ли этот сеанс в среде CLI.

Тип

bool

$_lifetime protected

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

Тип

int

$_started protected

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

Тип

bool

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

Spec-Zone.ru

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