Класс CookieComponent
Компонент Cookie.
Обработка файлов cookie для контроллера.
- Объект
-
Компонент -
CookieComponent
Ссылка: http://book.cakephp.org/2.0/en/core-libraries/components/cookie.html
Авторские права: Copyright (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 -
$httpOnlypublicТолько HTTP cookieboolean -
$keypublicКлюч шифрования.string -
$namepublicИмя файла cookie.string -
$pathpublicПуть cookie.string -
$securepublicТолько cookie 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
Позволяет переопределить метод шифрования по умолчанию. Используйте этот метод в ex: AppController::beforeFilter() до того, как вы прочитали или записали любые cookie.
- write() publicЗаписать значение в $_COOKIE[$key];
Подробное описание метода
__construct()source public
__construct( ComponentCollection $collection , array $settings array() )
Конструктор
Параметры
-
ComponentCollection$collection - ComponentCollection для этого компонента
- array
$settingsoptional array() - Массив настроек.
Переопределяет
Component::__construct() _decode()source protected
_decode( string $value )
Декодирует и расшифровывает одно значение.
Параметры
- string
$value - Значение для декодирования и расшифрования.
Возвращает
stringДекодированное значение.
_decrypt()source protected
_decrypt( array $values )
Расшифровывает $value с помощью метода public $type в классе Security
Параметры
- array
$values - Значения для расшифрования
Возвращает
stringРасшифрованная строка
_delete()source protected
_delete( string $name )
Устанавливает время истечения срока действия cookie для удаления значения cookie
Параметры
- string
$name - Имя cookie
_encrypt()source protected
_encrypt( string $value )
Шифрует $value с помощью метода public $type в классе Security
Параметры
- string
$value - Значение для шифрования
Возвращает
stringЗакодированные значения
_expire()source protected
_expire( integer|string $expires null )
Устанавливает время истечения срока действия переменной сессии.
Создает новое время истечения срока действия переменной сессии. $expire может быть либо целочисленной меткой времени Unix, либо строкой даты.
Используется в write() CookieComponent::write(string, string, boolean, 8400); CookieComponent::write(string, string, boolean, '5 Days');
Параметры
- integer|string
$expiresoptional null - Может быть меткой времени Unix или строкой даты
Возвращает
integerМетка времени Unix
_explode()source protected
_explode( string $string )
Метод explode для возврата массива из строки, установленной в CookieComponent::_implode() Поддерживает обратную совместимость чтения с 1.x CookieComponent::_implode().
Параметры
- string
$string - Строка, содержащая закодированные в формате JSON данные или просто строка.
Возвращает
arrayКарта ключей и значений
_implode()source protected
_implode( array $array )
Метод implode для сохранения ключей в многомерных массивах
Параметры
- array
$array - Карта ключей и значений
Возвращает
stringСтрока, закодированная в формате JSON.
_write()source protected
_write( string $name , string $value )
Установить куки
Параметры
- строка
$name - Имя куки
- строка
$value - Значение куки
check()source public
check( string $key null )
Возвращает true, если заданная переменная установлена в куки.
Параметры
- строка
$keyнеобязательно null - Имя переменной для проверки
Возвращает
booleanTrue, если переменная существует
delete()source public
delete( string $key )
Удалить значение куки
Необязательно [Имя.], требуется ключ $this->Cookie->delete('Имя.ключ);
Этот метод необходимо использовать до отправки любого вывода в браузер. В противном случае возникнут ошибки «заголовок уже отправлен».
Этот метод удалит как куки верхнего уровня, так и куки второго уровня. Например, предполагая, что $name = App, удаление User удалит как App[User] , так и любые другие значения куки, например, App[User][email] Это делается для очистки хранилища куки с версии до 2.4.3, где куки хранились несогласованно.
Параметры
- строка
$key - Ключ значения, подлежащего удалению
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html#CookieComponent::deletedestroy()source public
destroy( )
Удалить текущую куки
Этот метод необходимо использовать до отправки любого вывода в браузер. В противном случае возникнут ошибки «заголовок уже отправлен».
Ссылка
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' )
Позволяет переопределить метод шифрования по умолчанию. Используйте этот метод в ex: AppController::beforeFilter() до чтения или записи куки.
Параметры
- строка
$typeнеобязательно 'cipher' - Метод шифрования
write()source public
write( string|array $key , mixed $value null , boolean $encrypt true , integer|string $expires null )
Записать значение в $_COOKIE[$key];
Необязательно [Имя.], обязательный ключ, необязательное $value, необязательное $encrypt, необязательное $expires $this->Cookie->write('[Имя.]ключ, $value);
По умолчанию все значения шифруются. Вы должны передать $encrypt false, чтобы сохранить значения в открытом виде.
Этот метод необходимо использовать до отправки любого вывода в браузер. В противном случае возникнут ошибки «заголовок уже отправлен».
Параметры
- строка|массив
$key - Ключ значения
- смешанный
$valueнеобязательно null - Значение
- булево
$encryptнеобязательно true - Установить в true, чтобы зашифровать значение, в противном случае false
- целое число|строка
$expiresнеобязательно null Может быть либо количество секунд до истечения срока действия куки, либо смещение времени, совместимое с strtotime.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html#CookieComponent::writeМетоды, унаследованные от Component
__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.
Ссылка
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Методы, унаследованные от Object
_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( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
stringИмя этого класса
Подробное описание свойств
$_expiressource
protected строка
Время истечения срока действия куки
Это контролируется CookieComponent::time;
$_resetsource
protected строка
Используется для сброса времени куки, если $expire передан в CookieComponent::write()
null
$_typesource
protected строка
Тип шифрования для использования.
В настоящее время доступны два метода: cipher и rijndael. По умолчанию используется Security::cipher(). Cipher ужасно небезопасен и используется по умолчанию только из-за обратной совместимости. В новых приложениях вы всегда должны изменять это на 'aes' или 'rijndael'.
'cipher'
$_valuessource
protected строка
Значения, хранящиеся в куки.
Доступны в контроллере с помощью $this->Cookie->read('Name.key');
См.
CookieComponent::read();array()
$domainsource
public строка
Путь домена.
Домен, в котором доступна куки.
Переопределяется с помощью контроллера перед фильтром: $this->Cookie->domain = '.example.com';
Чтобы сделать куки доступными для всех поддоменов example.com. Установите $this->Cookie->domain = '.example.com'; в вашем контроллере перед фильтром
''
$httpOnlysource
public булево
Куки только для HTTP
Установите в значение true, чтобы сделать куки только для HTTP. Куки, которые являются только для HTTP, недоступны в JavaScript.
false
$keysource
public строка
Ключ шифрования.
Переопределяется с помощью контроллера перед фильтром: $this->Cookie->key = 'SomeRandomString';
null
$namesource
public строка
Имя куки.
Переопределяется с помощью контроллера перед фильтром: $this->Cookie->name = 'CookieName';
'CakeCookie'
$pathsource
public строка
Путь куки.
Переопределяется с помощью контроллера перед фильтром: $this->Cookie->path = '/';
Путь на сервере, в котором будет доступна куки. Если public $cookiePath задан как '/foo/', куки будет доступна только в каталоге /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.
http://api.cakephp.org/2.8/class-CookieComponent.html