Класс SessionComponent
Компонент SessionComponent CakePHP предоставляет способ сохранения данных клиента между запросами к странице. Он выступает в качестве обёртки для $_SESSION, а также предоставляет удобные методы для нескольких функций, связанных с $_SESSION.
- CakeObject
-
Component
-
SessionComponent
Ссылка: https://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html
Ссылка: https://book.cakephp.org/2.0/ru/development/sessions.html
Авторское право: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Component/SessionComponent.php
Унаследованные свойства
Краткое описание методов
- check() publicПроверяет, установлена ли сессионная переменная.
- consume() publicЧитает и удаляет значение сессии для ключа.
- delete() publicУдаляет значение сессии для ключа.
- destroy() publicИспользуется для уничтожения сессий
- error() publicИспользуется для определения последней ошибки в сессии.
- id() publicПолучение/Установка идентификатора сессии.
- read() publicЧитает значение сессии для ключа или возвращает значения для всех ключей.
- renew() publicИспользуется для обновления идентификатора сессии
- setFlash() publicИспользуется для установки сессионной переменной, которая может быть использована для вывода сообщений в представлении.
- started() publicВозвращает булево значение, указав, начата ли сессия.
- userAgent() publicПолучение / Установка userAgent
- valid() publicИспользуется для проверки валидности сессии.
- write() publicЗаписывает значение в сессионный ключ.
Подробное описание методов
check()source public
check( string $name )
Проверяет, установлена ли сессионная переменная.
В вашем контроллере: $this->Session->check('Controller.sessKey');
Параметры
- строка
$name - имя сессионного ключа, который вы хотите проверить
Возвращает
booleantrue, если сессионная переменная установлена, false — если нет
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#SessionComponent::checkconsume()source public
consume( string $name )
Читает и удаляет значение сессии для ключа.
В вашем контроллере: $this->Session->consume('Controller.sessKey');
Параметры
- строка
$name - имя сессионного ключа, который вы хотите прочитать
Возвращает
mixedзначения из сессионных переменных
delete()source public
delete( string $name )
Удаляет значение сессии для ключа.
В вашем контроллере: $this->Session->delete('Controller.sessKey');
Параметры
- строка
$name - имя сессионного ключа, который вы хотите удалить
Возвращает
booleantrue, если сессионная переменная установлена и может быть удалена, false — если переменная не была установлена.
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#SessionComponent::deletedestroy()source public
destroy( )
Используется для уничтожения сессий
В вашем контроллере: $this->Session->destroy();
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#SessionComponent::destroyerror()source public
error( )
Используется для определения последней ошибки в сессии.
В вашем контроллере: $this->Session->error();
Возвращает
строкаПоследняя ошибка сессии
id()source public
id( string $id null )
Получение/Установка идентификатора сессии.
При получении идентификатора сессии сессия будет начата, если она ещё не начата. При установке идентификатора сессии сессия не будет начата.
Параметры
- строка
$idнеобязательно null - Идентификатор для использования (необязательно)
Возвращает
строкаТекущий идентификатор сессии.
read()source public
read( string $name null )
Читает значение сессии для ключа или возвращает значения для всех ключей.
В вашем контроллере: $this->Session->read('Controller.sessKey'); Вызов метода без параметра вернёт все сессионные переменные
Параметры
- строка
$nameнеобязательно null - имя сессионного ключа, который вы хотите прочитать
Возвращает
mixedзначение из сессионных переменных
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#SessionComponent::readrenew()source public
renew( )
Используется для обновления идентификатора сессии
В вашем контроллере: $this->Session->renew();
setFlash()source public
setFlash( string $message , string $element 'default' , array $params array() , string $key 'flash' )
Используется для установки сессионной переменной, которая может быть использована для вывода сообщений в представлении.
В вашем контроллере: $this->Session->setFlash('Это было сохранено');
Дополнительные параметры ниже могут быть переданы для настройки вывода, или Message.[key]. Вы также можете задать дополнительные параметры при отображении сообщений всплывающей подсказки. Для получения дополнительной информации о том, как это сделать, см. SessionHelper::flash().
Устарело
3.0.0 С версии 2.7 используйте компонент FlashComponent вместо этого.Параметры
- строка
$message - Сообщение, которое нужно отобразить
- строка
$elementнеобязательно 'default' - Элемент для обертывания сообщения всплывающей подсказки.
- массив
$paramsнеобязательно array() - Параметры, которые должны быть отправлены в макет в качестве переменных представления
- строка
$keyнеобязательно 'flash' - Ключ сообщения, по умолчанию — 'flash'
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#создание-сообщений-уведомленийstarted()source public
started( )
Возвращает булево значение, указав, начата ли сессия.
Возвращает
booleanuserAgent()source public
userAgent( string $userAgent null )
Получение/установка userAgent
Параметры
- строка
$userAgentнеобязательно null - Установить userAgent
Возвращаемое значение
строкаТекущий пользовательский агент.
valid()source public
valid( )
Используется для проверки валидности сессии.
В вашем контроллере: $this->Session->valid();
Возвращаемое значение
булевоtrue, если сессия валидна, false — если невалидна
write()source public
write( string $name , string $value null )
Запись значения в ключ сессии.
В вашем контроллере: $this->Session->write('Controller.sessKey', 'session value');
Параметры
- строка
$name Имя ключа, который вы устанавливаете в сессии. Для лучшей организации используйте формат Controller.key
- строка
$valueнеобязательно null - Значение, которое вы хотите сохранить в сессии.
Возвращаемое значение
булевоУспех
Ссылка
https://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#SessionComponent::writeМетоды, унаследованные от Component
__construct()source public
__construct( ComponentCollection $collection , array $settings array() )
Конструктор
Параметры
-
ComponentCollection$collection - ComponentCollection, который этот компонент может использовать для ленивой загрузки своих компонентов
- массив
$settingsнеобязательно array() - Массив параметров конфигурации.
Переопределяет
CakeObject::__construct() __get()source public
__get( string $name )
Магический метод для ленивой загрузки $components.
Параметры
- строка
$name - Имя компонента для получения.
Возвращаемое значение
смешанноеОбъект компонента или null.
beforeRedirect()source public
beforeRedirect( Controller $controller , string|array $url , integer $status null , boolean $exit true )
Вызывается перед Controller::redirect(). Позволяет заменить URL, на который будет перенаправлен, новым URL. Возвращаемое значение этого метода может быть массивом или строкой.
Если возвращаемое значение — массив, содержащий ключ 'url'. Вы также можете указать:
-
statusКод состояния для перенаправления -
exitНужно ли завершить сценарий после перенаправления.
Если ваш ответ — строка или массив, не содержащий ключа 'url', он будет использован в качестве нового URL для перенаправления.
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRedirect
- строка|массив
$url - Строка или массив URL, на который происходит перенаправление.
- целое
$statusнеобязательно null - Код состояния перенаправления
- булево
$exitнеобязательно true - Завершить сценарий после перенаправления.
Возвращаемое значение
массив|nullМассив или null.
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirectbeforeRender()source public
beforeRender( Controller $controller )
Вызывается перед Controller::beforeRender(), перед загрузкой класса представления и перед Controller::render()
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRender
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRenderinitialize()source public
initialize( Controller $controller )
Вызывается перед Controller::beforeFilter().
Параметры
-
Controller$controller - Контроллер с компонентами для инициализации
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::initializeshutdown()source public
shutdown( Controller $controller )
Вызывается после Controller::render() и перед выводом результата в браузер.
Параметры
-
Controller$controller - Контроллер с компонентами для завершения работы
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdownstartup()source public
startup( Controller $controller )
Вызывается после Controller::beforeFilter() и перед действием контроллера
Параметры
-
Controller$controller - Контроллер с компонентами для запуска
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::startupМетоды, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет $property этого объекта со свойством в определении $class. Значение этого свойства в классе будет объединено поверх значения $class'
Это обеспечивает некоторую магию DRY, предоставляемую CakePHP. Если вы хотите его отключить, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с ним.
- булево
$normalizeнеобязательно true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет устанавливать несколько свойств объекта в одной строке кода. Установит только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останов выполнения текущего сценария. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированный оболочку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращаемое значение
смешанноеВозвращает результат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы, см. CakeLog::write().
Параметры
- строка
$msg - Сообщение журнала
- целое число
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала, см. CakeLog::config().
Возвращает
booleanУспех записи в журнал
requestAction()source public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любой точки. Может использоваться для связи контроллеров или интеграции плагинов в основное приложение. requestAction можно использовать для возвращения рендеренных представлений или извлечения возвращаемого значения из действий контроллера.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().
Передача данных POST и GET
Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.
Параметры
- строка|массив
$url Строковый или массивно-ориентированный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательно array() Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST, а также именованных/переданных аргументов.
Возвращает
смешанныйЛогическое значение true или false при успехе/неудаче или содержимое рендеренного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределять этот метод по мере необходимости.
Возвращает
строкаИмя этого класса
© 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/2.10/class-SessionComponent.html