Spec-Zone.ru › CakePHP 2.10

Класс CookieComponent

Компонент Cookie.

Обработка куки для контроллера.

CakeObject
Extended by Component
Extended by CookieComponent
Пакет: Cake\Controller\Component
Ссылка: https://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Component/CookieComponent.php

Резюме свойств

  • $_expires protected
    string
    Время истечения действия куки
  • $_reset protected
    string
    Используется для сброса времени куки, если $expire передан в CookieComponent::write()
  • $_response protected
    CakeResponse
    Ссылка на объект CakeResponse контроллера
  • $_type protected
    string
    Тип шифрования для использования.
  • $_values protected
    string
    Значения, хранящиеся в куки.
  • $domain public
    string
    Путь до домена.
  • $httpOnly public
    boolean
    Куки только для HTTP
  • $key public
    string
    Ключ шифрования.
  • $name public
    string
    Имя куки.
  • $path public
    string
    Путь к куки.
  • $secure public
    boolean
    Куки только для HTTPS.
  • $time public
    mixed
    Время, в течение которого куки будет оставаться действительной.

Наследуемые свойства

  • _Collection, _componentMap, components, settings

Резюме методов

  • __construct() public
    Конструктор
  • _decode() protected
    Декодирует и расшифровывает одно значение.
  • _decrypt() protected
    Расшифровывает $value с помощью метода public $type в классе Security
  • _delete() protected
    Устанавливает время истечения действия куки для удаления значения куки
  • _encrypt() protected
    Шифрует $value с помощью метода public $type в классе Security
  • _expire() protected
    Устанавливает время истечения действия переменной сессии.
  • _explode() protected

    Метод explode для возвращения массива из строки, установленной в CookieComponent::_implode() Сохраняет обратную совместимость чтения с 1.x CookieComponent::_implode().

  • _implode() protected
    Метод implode для сохранения ключей в многомерных массивах
  • _write() protected
    Устанавливает куки
  • check() public
    Возвращает true, если заданная переменная установлена в куки.
  • delete() public
    Удалить значение куки
  • destroy() public
    Уничтожить текущую куки
  • read() public
    Прочитать значение $_COOKIE[$key];
  • startup() public
    Запустить CookieComponent для использования в контроллере
  • type() public

    Позволяет переопределить метод шифрования по умолчанию. Используйте этот метод, например, в AppController::beforeFilter() до чтения или записи каких-либо куки.

  • write() public
    Записать значение в $_COOKIE[$key];

Детали методов

__construct()source public

__construct( ComponentCollection $collection , array $settings array() )

Конструктор

Параметры

ComponentCollection $collection
A ComponentCollection для этого компонента
массив $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 )

Устанавливает время истечения действия куки для удаления значения куки

Параметры

строка $name
Имя куки

_encrypt()source protected

_encrypt( string $value )

Шифрует $value с помощью метода public $type в классе Security

Параметры

строка $value
Значение для шифрования

Возвращает

строка
Закодированные значения

_expire()source protected

_expire( integer|string $expires null )

Устанавливает время истечения действия переменной сессии.

Создаёт новое время истечения для переменной сессии. $expire может быть целым числом Unix timestamp или строкой даты.

Используется методом write() CookieComponent::write(string, string, boolean, 8400); CookieComponent::write(string, string, boolean, '5 Days');

Параметры

целое число|строка $expires необязательно null
Может быть либо Unix timestamp, либо строкой даты

Возвращает

целое число
Unix timestamp

_explode()source protected

_explode( string $string )

Метод explode для возвращения массива из строки, установленной в CookieComponent::_implode() Сохраняет обратную совместимость чтения с 1.x CookieComponent::_implode().

Параметры

строка $string
Строка, содержащая данные, закодированные в формате JSON, или просто строка.

Возвращает

массив
Карта ключей и значений

_implode()source protected

_implode( array $array )

Метод implode для сохранения ключей в многомерных массивах

Параметры

массив $array
Карта ключей и значений

Возвращает

строка
Строка, закодированная в формате JSON.
END_OF_DOCUMENT_MARKER

_write()source protected

_write( string $name , string $value )

Установить cookie

Параметры

строка $name
Имя cookie
строка $value
Значение cookie

check()source public

check( string $key null )

Возвращает true, если заданная переменная установлена в cookie.

Параметры

строка $key необязательно null
Имя переменной для проверки

Возвращаемое значение

boolean
True, если переменная существует

delete()source public

delete( string $key )

Удалить значение cookie

Необязательно [Имя.], требуется ключ $this->Cookie->delete('Имя.ключ');

Этот метод необходимо использовать до отправки любого вывода в браузер. В противном случае произойдут ошибки "заголовок уже отправлен".

Этот метод удалит как значения верхнего уровня, так и значения cookie второго уровня. Например, предполагая, что $name = App, удаление User удалит как App[User] , так и любые другие значения cookie, такие как App[User][email] Это делается для очистки хранения cookie, существовавшего до версии 2.4.3, где cookie хранились несогласованно.

Параметры

строка $key
Ключ значения, подлежащего удалению

Ссылка

https://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html#CookieComponent::delete

destroy()source public

destroy( )

Уничтожить текущее cookie

Этот метод необходимо использовать до отправки любого вывода в браузер. В противном случае произойдут ошибки "заголовок уже отправлен".

Ссылка

https://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html#CookieComponent::destroy

read()source public

read( string $key null )

Считывает значение $_COOKIE[$key];

Необязательно [Имя.], требуется ключ $this->Cookie->read(Имя.ключ);

Параметры

строка $key необязательно null
Ключ значения для получения. Если не указан, получить все ключи => значения.

Возвращаемое значение

string|null
Значение для указанного ключа

Ссылка

https://book.cakephp.org/2.0/ru/core-libraries/components/cookie.html#CookieComponent::read

startup()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];

Необязательно [Имя.], требуется ключ, необязательно $value, необязательно $encrypt, необязательно $expires $this->Cookie->write('[Имя.]ключ, $value);

По умолчанию все значения шифруются. Необходимо передать $encrypt false, чтобы сохранить значения в открытом виде.

Этот метод необходимо использовать до отправки любого вывода в браузер. В противном случае произойдут ошибки "заголовок уже отправлен".

Параметры

строка|массив $key
Ключ для значения
смешанный $value необязательно null
Значение
логический $encrypt необязательно true
Установите в значение true, чтобы зашифровать значение, в противном случае — false
целое число/строка $expires необязательно null

Может быть числом секунд до истечения срока действия cookie или совместимым с strtotime смещением времени.

Ссылка

https://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.

Ссылка

https://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirect

beforeRender()source public

beforeRender( Controller $controller )

Вызывается перед Controller::beforeRender(), перед загрузкой класса представления и перед Controller::render()

Параметры

Controller $controller
Контроллер с компонентами для beforeRender

Ссылка

https://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRender

initialize()source public

initialize( Controller $controller )

Вызывается перед Controller::beforeFilter().

Параметры

Controller $controller
Контроллер с компонентами для инициализации

Ссылка

https://book.cakephp.org/2.0/ru/controllers/components.html#Component::initialize

shutdown()source public

shutdown( Controller $controller )

Вызывается после Controller::render() и перед выводом в браузер.

Параметры

Controller $controller
Контроллер с компонентами для завершения работы

Ссылка

https://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

$_responsesource

protected CakeResponse

Ссылка на объект CakeResponse контроллера

null

$_typesource

protected строка

Тип шифрования для использования.

В настоящее время доступны два метода: cipher и rijndael. По умолчанию используется Security::cipher(). Cipher ужасно небезопасен и используется по умолчанию только из-за обратной совместимости. В новых приложениях вы всегда должны изменить это на 'aes' или 'rijndael'.

'cipher'

$_valuessource

protected строка

Значения, хранящиеся в cookie.

Доступ к ним в контроллере с помощью $this->Cookie->read('Имя.ключ');

См. также

CookieComponent::read();
array()

$domainsource

public строка

Доменная директория.

Домен, в котором доступна cookie.

Переопределяется в контроллере перед фильтром: $this->Cookie->domain = '.example.com';

Чтобы сделать cookie доступной для всех поддоменов example.com. Установите $this->Cookie->domain = '.example.com'; в контроллере перед фильтром.

''

$httpOnlysource

public boolean

Cookie только для HTTP

Установите в значение true, чтобы сделать cookie только для HTTP. Cookie, которые только для HTTP, недоступны в JavaScript.

false

$keysource

public строка

Ключ шифрования.

Переопределяется в контроллере перед фильтром: $this->Cookie->key = 'SomeRandomString';

null

$namesource

public строка

Имя cookie.

Переопределяется в контроллере перед фильтром: $this->Cookie->name = 'ИмяCookie';

'CakeCookie'

$pathsource

public строка

Путь cookie.

Переопределяется в контроллере перед фильтром: $this->Cookie->path = '/';

Путь на сервере, в котором cookie будет доступна. Если public $cookiePath установлен в '/foo/', cookie будет доступна только в каталоге /foo/ и всех подкаталогах, таких как /foo/bar/ домена. Значение по умолчанию — весь домен.

'/'

$securesource

public boolean

Файл cookie, доступный только по HTTPS.

Переопределяется с помощью метода beforeFilter() контроллера; $this->Cookie->secure = true;

Указывает, что cookie должен передаваться только по защищенному соединению HTTPS. При установке в значение true, cookie будет устанавливаться только при наличии защищенного соединения.

false

$timesource

public mixed

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

Может быть либо целым значением временной метки Unix, либо строкой даты.

Переопределяется с помощью метода beforeFilter() контроллера; $this->Cookie->time = '5 Дней';

null

© 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-CookieComponent.html

Spec-Zone.ru

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