Spec-Zone.ru › CakePHP 3.4

Класс Session

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

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

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

Пространство имён: Cake\Network
Расположение: Network/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
    Перезапускает эту сессию.
  • 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 в уже созданный экземпляр обработчика сессий.

Параметры

array $config optional []
Конфигурация, применяемая к этому объекту сессии

_defaultConfig()source protected static

_defaultConfig( string $name )

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

Параметры

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

Возвращает

boolean|array

_hasSession()source protected

_hasSession( )

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

Возвращает

boolean

_overwrite()source protected

_overwrite( array $old , array $new )

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

Параметры

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

_timedOut()source protected

_timedOut( )

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

Возвращает

boolean

check()source public

check( string|null $name null )

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

Параметры

string|null $name optional null
Имя переменной для проверки

Возвращает

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

clear()source public

clear( boolean $renew false )

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

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

Параметры

boolean $renew optional false
Обновлять ли сессию? По умолчанию false.

consume()source public

consume( string $name )

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

Параметры

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

Возвращает

mixed

Значение переменной сессии, 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\Network\Session

См. также

\Cake\Network\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( )

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

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–2017 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.4/class-Cake.Network.Session.html

Spec-Zone.ru

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