Класс SessionComponent
Компонент Session CakePHP предоставляет способ сохранения данных клиента между запросами на страницы. Он выступает в качестве оболочки для $_SESSION , а также предоставляет удобные методы для нескольких функций, связанных с $_SESSION.
- Объект
-
Компонент -
SessionComponent
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html
Ссылка: http://book.cakephp.org/2.0/ru/development/sessions.html
Расположение: Cake/Controller/Component/SessionComponent.php
Подробное описание методов
checkисходный код public
check( string $name )
Проверяет, установлена ли переменная сессии.
В вашем контроллере: $this->Session->check('Controller.sessKey');
Параметры
- строка
$name - имя ключа сессии, которую нужно проверить
Возвращает
booleantrue, если переменная сессии установлена, false - если нет
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#SessionComponent::checkconsumeисходный код public
consume( string $name )
Считывает и удаляет значение сессии для ключа.
В вашем контроллере: $this->Session->consume('Controller.sessKey');
Параметры
- строка
$name - имя ключа сессии, которую нужно считать
Возвращает
mixedзначения из переменных сессии
deleteисходный код public
delete( string $name )
Удаляет значение сессии для ключа.
В вашем контроллере: $this->Session->delete('Controller.sessKey');
Параметры
- строка
$name - имя ключа сессии, которую нужно удалить
Возвращает
booleantrue, если переменная сессии установлена и может быть удалена, false - если переменная не была установлена.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#SessionComponent::deletedestroyисходный код public
destroy( )
Используется для уничтожения сессий
В вашем контроллере: $this->Session->destroy();
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#SessionComponent::destroyerrorисходный код public
error( )
Используется для определения последней ошибки в сессии.
В вашем контроллере: $this->Session->error();
Возвращает
stringПоследняя ошибка сессии
idисходный код public
id( string $id null )
Получение/Установка идентификатора сессии.
При получении идентификатора сессии сессия будет начата, если она еще не начата. При установке идентификатора сессии сессия не будет запущена.
Параметры
- строка
$idнеобязательно null - Идентификатор для использования (необязательно)
Возвращает
stringТекущий идентификатор сессии.
readисходный код public
read( string $name null )
Считывает значение сессии для ключа или возвращает значения для всех ключей.
В вашем контроллере: $this->Session->read('Controller.sessKey'); Вызов метода без параметра вернет все переменные сессии.
Параметры
- строка
$nameнеобязательно null - имя ключа сессии, которую нужно считать
Возвращает
mixedзначение из переменных сессии
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#SessionComponent::readrenewисходный код public
renew( )
Используется для обновления идентификатора сессии
В вашем контроллере: $this->Session->renew();
setFlashисходный код public
setFlash( string $message , string $element 'default' , array $params array() , string $key 'flash' )
Используется для установки переменной сессии, которая может использоваться для вывода сообщений в представлении.
В вашем контроллере: $this->Session->setFlash('Это было сохранено');
Дополнительные параметры ниже могут быть переданы для настройки вывода, или сообщение [ключ]. Вы также можете задать дополнительные параметры при отрисовке всплывающих сообщений. См. SessionHelper::flash() для получения дополнительной информации о том, как это сделать.
Устаревший
3.0.0 С версии 2.7, используйте компонент FlashComponent вместо него.Параметры
- строка
$message - Сообщение, которое нужно отобразить
- строка
$elementнеобязательно 'default' - Элемент для обертывания всплывающего сообщения.
- массив
$paramsнеобязательно array() - Параметры, которые должны быть отправлены в макет как переменные представления
- строка
$keyнеобязательно 'flash' - Ключ сообщения, по умолчанию 'flash'
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#creating-notification-messagesstartedисходный код public
started( )
Возвращает булево значение, начата ли сессия.
Возвращает
booleanbool
userAgentисходный код public
userAgent( string $userAgent null )
Получение/Установка userAgent
Параметры
- строка
$userAgentнеобязательно null - Установка userAgent
Возвращает
stringТекущий user agent.
validисходный код public
valid( )
Используется для проверки валидности сессии.
В вашем контроллере: $this->Session->valid();
Возвращает
booleantrue, если сессия валидна, false - если сессия невалидна
writeисходный код public
write( string $name , string $value null )
Записывает значение в ключ сессии.
В вашем контроллере: $this->Session->write('Controller.sessKey', 'значение сессии');
Параметры
- строка
$name - Имя ключа, который вы устанавливаете в сессии. Для лучшей организации, это должно быть в формате Controller.key
- строка
$valueнеобязательно null - Значение, которое нужно сохранить в сессии.
Возвращает
booleanУспех
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/sessions.html#SessionComponent::writeНаследованные методы из компонента
__constructsource public
__construct( ComponentCollection $collection , array $settings array() )
Конструктор
Параметры
-
ComponentCollection$collection - Объект ComponentCollection, который этот компонент может использовать для леничной загрузки своих компонентов
- массив
$settingsнеобязательный массив() - Массив параметров конфигурации.
Переопределяет
Object::__construct() __getsource public
__get( string $name )
Магический метод для леничной загрузки $components.
Параметры
- строка
$name - Имя компонента для получения.
Возвращает
mixedОбъект Component или null.
beforeRedirectsource 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 - Выполнять ли выход после редиректа.
Возвращает
array|nullМассив или null.
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirectbeforeRendersource public
beforeRender( Controller $controller )
Вызывается перед Controller::beforeRender(), перед загрузкой класса представления и перед Controller::render()
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRender
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRenderinitializesource public
initialize( Controller $controller )
Вызывается перед Controller::beforeFilter().
Параметры
-
Controller$controller - Контроллер с компонентами для инициализации
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::initializeshutdownsource public
shutdown( Controller $controller )
Вызывается после Controller::render() и перед выводом результата в браузер.
Параметры
-
Controller$controller - Контроллер с компонентами для завершения работы
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdownstartupsource public
startup( Controller $controller )
Вызывается после Controller::beforeFilter() и перед выполнением действия контроллера
Параметры
-
Controller$controller - Контроллер с компонентами для запуска
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::startupМетоды, унаследованные от Object
_mergeVarssource protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства этого объекта $property со свойствами в определении $class. Значение свойства для этого класса будет объединено поверх значения свойства $class.
Это обеспечивает некоторую из DRY-магии CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- булево
$normalizeнеобязательный true - Установите в значение true, чтобы выполнить нормализацию свойств через Hash::normalize() перед объединением.
_setsource protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательный массив() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число|строка
$statusнеобязательный 0 - см. http://php.net/exit для значений
dispatchMethodsource public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную оболочку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательный массив() - Список параметров для использования при вызове $method
Возвращает
mixedВозвращает результат вызова метода
logsource 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Успешность записи в лог
requestActionsource 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необязательный массив() - Если массив включает ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedЛогическое значение true или false при успехе/неудаче, или содержимое отрисованного действия, если в $extra установлен ключ 'return'.
toStringsource public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
stringИмя этого класса
Свойства, унаследованные от Component
$_Collectionsource
protected ComponentCollection
Класс коллекции компонентов, используемый для ленивой загрузки компонентов.
$_componentMapsource
protected array
Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.
array()
© 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/2.7/class-SessionComponent.html