Spec-Zone.ru › CakePHP 3.3

Класс 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 на уже инициализированный объект обработчика сессий.

Параметры

массив $config необязательно []
Конфигурация для применения к этому объекту сессии

_defaultConfig()source protected static

_defaultConfig( string $name )

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

Параметры

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

Возвращает

логическое значение|массив

_hasSession()source protected

_hasSession( )

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

Возвращает

логическое значение

_overwrite()source protected

_overwrite( array $old , array $new )

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

Параметры

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

_timedOut()source protected

_timedOut( )

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

Возвращает

логическое значение

check()source public

check( string|null $name null )

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

Параметры

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

Возвращает

логическое значение
True, если переменная есть

clear()source public

clear( boolean $renew false )

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

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

Параметры

логическое значение $renew необязательно false
Если сессия должна быть обновлена, также. По умолчанию false.

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: Время в минутах, в течение которого сессия должна оставаться активной

Параметры

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

Возвращает

Cake\Network\Session

См. также

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

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

Параметры

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

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

$_enginesource

protected SessionHandlerInterface

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

$_isCLIsource

protected boolean

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

false

$_lifetimesource

protected integer

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

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

Spec-Zone.ru

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