Spec-Zone.ru › CakePHP 4.3

Класс Session

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

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

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

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

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

  • $_engine protected
    SessionHandlerInterface

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

  • $_isCLI protected
    bool

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

  • $_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

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

  • start() public

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

  • started() public

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

  • write() public

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

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

__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 в конфигурации для указания объекта Table, который необходимо использовать.
  • 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.3/class-Cake.Http.Session.html

Spec-Zone.ru

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