Spec-Zone.ru › CakePHP 3.2

Класс 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 , string|null $value null )

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

Параметры

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

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

$_enginesource

protected SessionHandlerInterface

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

$_isCLIsource

protected boolean

Признак того, работает ли эта сессия в среде командной строки

false

$_lifetimesource

protected целое число

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

$_startedsource

protected boolean

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

© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.Network.Session.html

Spec-Zone.ru

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