Класс CookieComponent
Компонент Cookie.
Обработка файлов cookie для контроллера.
- CakeObject
-
Компонент -
CookieComponent
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Controller/Component/CookieComponent.php
Краткое описание свойств
-
$_expiresprotectedВремя истечения срока действия cookiestring -
$_resetprotectedИспользуется для сброса времени cookie, если $expire передан в CookieComponent::write()string - Ссылка на объект CakeResponse контроллера
$_responseprotected -
$_typeprotectedТип шифрования для использования.string -
$_valuesprotectedЗначения, хранящиеся в cookie.string -
$domainpublicПуть до домена.string -
$httpOnlypublicCookie только для HTTPboolean -
$keypublicКлюч шифрования.string -
$namepublicИмя cookie.string -
$pathpublicПуть cookie.string -
$securepublicCookie только для HTTPS.boolean -
$timepublicВремя, в течение которого cookie останется действительным.mixed
Наследуемые свойства
Краткое описание методов
- __construct() publicКонструктор
- _decode() protectedДекодирует и расшифровывает единственное значение.
- _decrypt() protectedРасшифровывает $value, используя метод public $type класса Security
- _delete() protectedУстанавливает время истечения срока действия cookie для удаления значения cookie
- _encrypt() protectedШифрует $value, используя метод public $type класса Security
- _expire() protectedУстанавливает время истечения срока действия переменной сеанса.
- _explode() protected
Метод explode, возвращающий массив из строки, установленной в CookieComponent::_implode() Сохраняет обратную совместимость с чтением с 1.x CookieComponent::_implode().
- _implode() protectedМетод implode, чтобы ключи оставались многомерными массивами
- _write() protectedУстанавливает cookie
- check() publicВозвращает true, если заданная переменная установлена в cookie.
- delete() publicУдалить значение cookie
- destroy() publicУничтожить текущий cookie
- read() publicЧтение значения $_COOKIE[$key];
- startup() publicИнициализация CookieComponent для использования в контроллере
- type() public
Позволяет переопределить метод шифрования по умолчанию. Используйте этот метод, например, в AppController::beforeFilter() перед чтением или записью файлов cookie.
- write() publicЗаписать значение в $_COOKIE[$key];
Подробное описание методов
__construct()source public
__construct( ComponentCollection $collection , array $settings array() )
Конструктор
Параметры
-
ComponentCollection$collection - Коллекция компонентов для этого компонента
- массив
$settingsнеобязательно array() - Массив настроек.
Переопределяет
Component::__construct() _decode()source protected
_decode( string $value )
Декодирует и расшифровывает единственное значение.
Параметры
- строка
$value - Значение для декодирования и расшифровки.
Возвращает
строкаДекодированное значение.
_decrypt()source protected
_decrypt( array $values )
Расшифровывает $value, используя метод public $type в классе Security
Параметры
- массив
$values - Значения для расшифровки
Возвращает
строкаРасшифрованная строка
_delete()source protected
_delete( string $name )
Устанавливает время истечения срока действия cookie для удаления значения cookie
Параметры
- строка
$name - Имя cookie
_encrypt()source protected
_encrypt( string $value )
Шифрует $value, используя метод public $type в классе Security
Параметры
- строка
$value - Значение для шифрования
Возвращает
строкаЗакодированные значения
_expire()source protected
_expire( integer|string $expires null )
Устанавливает время истечения срока действия переменной сеанса.
Создает новое время истечения срока действия переменной сеанса. $expire может быть целым числом Unix-временной меткой или строкой даты.
Используется в write() CookieComponent::write(строка, строка, boolean, 8400); CookieComponent::write(строка, строка, boolean, '5 Days');
Параметры
- целое число|строка
$expiresнеобязательно null - Может быть либо Unix-временной меткой, либо строкой даты
Возвращает
целое числоUnix-временная метка
_explode()source protected
_explode( string $string )
Метод explode для возврата массива из строки, установленной в CookieComponent::_implode() Сохраняет обратную совместимость с чтением с 1.x CookieComponent::_implode().
Параметры
- строка
$string - Строка, содержащая закодированные в JSON данные или обычная строка.
Возвращает
массивКарта ключей и значений
_implode()source protected
_implode( array $array )
Метод implode, чтобы ключи оставались многомерными массивами
Параметры
- массив
$array - Карта ключей и значений
Возвращает
строкаСтрока, закодированная в JSON.
_write()source protected
_write( string $name , string $value )
Установить cookie
Параметры
- строка
$name - Имя cookie
- строка
$value - Значение cookie
check()source public
check( string $key null )
Возвращает true, если указанная переменная установлена в cookie.
Параметры
- строка
$keyнеобязательно null - Имя переменной для проверки
Возвращаемое значение
booleanTrue, если переменная существует
delete()source public
delete( string $key )
Удалить значение cookie
Необязательно [Имя.], необходимо ключ $this->Cookie->delete('Имя.ключ);
Этот метод необходимо использовать до отправки любого вывода в браузер. В противном случае возникнет ошибка «заголовок уже отправлен».
Этот метод удалит как cookie верхнего уровня, так и cookie второго уровня. Например, если $name = App, удаление User удалит как App[User] , так и все другие значения cookie, такие как App[User][email]. Это делается для очистки хранилища cookie, существовавшего до версии 2.4.3, где cookie хранились несогласованно.
Параметры
- строка
$key - Ключ значения для удаления
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html#CookieComponent::deletedestroy()source public
destroy( )
Удалить текущий cookie
Этот метод необходимо использовать до отправки любого вывода в браузер. В противном случае возникнет ошибка «заголовок уже отправлен».
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html#CookieComponent::destroyread()source public
read( string $key null )
Прочитать значение $_COOKIE[$key];
Необязательно [Имя.], необходимо ключ $this->Cookie->read(Имя.ключ);
Параметры
- строка
$keyнеобязательно null - Ключ значения для получения. Если не указан, получить все ключи и значения
Возвращаемое значение
string|nullЗначение для указанного ключа
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html#CookieComponent::readstartup()source public
startup( Controller $controller )
Начать работу CookieComponent для использования в контроллере
Параметры
-
Controller$controller - Экземпляр контроллера.
Переопределяет
Component::startup() type()source public
type( string $type 'cipher' )
Позволяет переопределить метод шифрования по умолчанию. Используйте этот метод, например, в AppController::beforeFilter(), прежде чем вы будете читать или записывать cookie.
Параметры
- строка
$typeнеобязательно 'cipher' - Метод шифрования
write()source public
write( string|array $key , mixed $value null , boolean $encrypt true , integer|string $expires null )
Записать значение в $_COOKIE[$key];
Необязательно [Имя.], необходим ключ, необязательно $значение, необязательно $шифровать, необязательно $срок_действия $this->Cookie->write('[Имя.]ключ, $значение);
По умолчанию все значения шифруются. Необходимо передать $шифровать false, чтобы хранить значения в открытом виде.
Этот метод необходимо использовать до отправки любого вывода в браузер. В противном случае возникнет ошибка «заголовок уже отправлен».
Параметры
- строка|массив
$key - Ключ значения
- смешанное
$valueнеобязательно null - Значение
- булево
$encryptнеобязательно true - Установить в true для шифрования значения, иначе false
- целое число|строка
$expiresнеобязательно null Может быть количеством секунд до истечения срока действия cookie или совместимым с strtotime временным смещением.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html#CookieComponent::writeМетоды, унаследованные от Component
__get()source public
__get( string $name )
Магический метод для ленивой загрузки $components.
Параметры
- строка
$name - Имя компонента для получения.
Возвращаемое значение
mixedОбъект компонента или 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.
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirectbeforeRender()source public
beforeRender( Controller $controller )
Вызывается перед Controller::beforeRender(), перед загрузкой класса представления и перед Controller::render()
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRender
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRenderinitialize()source public
initialize( Controller $controller )
Вызывается перед Controller::beforeFilter().
Параметры
-
Controller$controller - Контроллер с компонентами для инициализации
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::initializeshutdown()source public
shutdown( Controller $controller )
Вызывается после Controller::render() и перед выводом в браузер.
Параметры
-
Controller$controller - Контроллер с компонентами для завершения
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdownМетоды, унаследованные от 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
Возвращаемое значение
mixedВозвращает результат вызова метода
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 и именованных/переданных аргументов.
Возвращаемое значение
mixedБулево значение true или false при успехе/неудачи, или содержимое рендерного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может по необходимости переопределить этот метод.
Возвращаемое значение
строкаИмя данного класса
Подробности свойств
$_expiressource
protected строка
Время истечения срока действия cookie
Управляется значением CookieComponent::time;
$_resetsource
protected строка
Используется для сброса времени cookie, если параметр $expire передан в CookieComponent::write()
null
$_typesource
protected строка
Тип шифрования для использования.
В настоящее время доступны два метода: cipher и rijndael. По умолчанию используется Security::cipher(). Cipher ужасно небезопасен и используется по умолчанию только из-за обратной совместимости. В новых приложениях вы всегда должны изменять это на 'aes' или 'rijndael'.
'cipher'
$_valuessource
protected строка
Значения, хранящиеся в cookie.
Доступ к ним в контроллере через $this->Cookie->read('Name.key');
См. также
CookieComponent::read();array()
$domainsource
public строка
Путь до домена.
Домен, для которого доступна cookie.
Переопределяется в контроллере beforeFilter(); $this->Cookie->domain = '.example.com';
Для доступности cookie на всех поддоменах example.com. Установите $this->Cookie->domain = '.example.com'; в контроллере beforeFilter.
''
$httpOnlysource
public булево
HTTP-only cookie
Установите в значение true, чтобы создать HTTP-only cookie. HTTP-only cookie недоступны в JavaScript.
false
$keysource
public строка
Ключ шифрования.
Переопределяется в контроллере beforeFilter(); $this->Cookie->key = 'SomeRandomString';
null
$namesource
public строка
Имя cookie.
Переопределяется в контроллере beforeFilter(); $this->Cookie->name = 'CookieName';
'CakeCookie'
$pathsource
public строка
Путь cookie.
Переопределяется в контроллере beforeFilter(); $this->Cookie->path = '/';
Путь на сервере, в котором доступна cookie. Если public $cookiePath установлен в '/foo/', cookie будет доступна только в каталоге /foo/ и всех подкаталогах, таких как /foo/bar/ домена. Значение по умолчанию - весь домен.
'/'
$securesource
public boolean
Файл cookie, доступный только по HTTPS.
Переопределяется в контроллере перед фильтром; $this->Cookie->secure = true;
Указывает, что файл cookie должен передаваться только по защищенному соединению HTTPS. Если установлено значение true, файл cookie будет задан только при наличии защищенного соединения.
false
$timesource
public mixed
Время, в течение которого cookie будет действительным.
Может быть либо целочисленной меткой времени Unix, либо строкой даты.
Переопределяется в контроллере перед фильтром; $this->Cookie->time = '5 Days';
null
© 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.
https://api.cakephp.org/2.9/class-CookieComponent.html