Spec-Zone.ru › CakePHP 2.9

Класс CookieComponent

Компонент Cookie.

Обработка файлов cookie для контроллера.

CakeObject
Extended by Компонент
Extended by CookieComponent
Пакет: Cake\Контроллер\Компонент
Ссылка: 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

Краткое описание свойств

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

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

  • _Collection, _componentMap, components, settings

Краткое описание методов

  • __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.
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 верхнего уровня, так и 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::delete

destroy()source public

destroy( )

Удалить текущий cookie

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

Ссылка

http://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
Значение для указанного ключа

Ссылка

http://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];

Необязательно [Имя.], необходим ключ, необязательно $значение, необязательно $шифровать, необязательно $срок_действия $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::beforeRedirect

beforeRender()source public

beforeRender( Controller $controller )

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

Параметры

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

Ссылка

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

initialize()source public

initialize( Controller $controller )

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

Параметры

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

Ссылка

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

shutdown()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

$_responsesource

protected CakeResponse

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

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/ домена. Значение по умолчанию - весь домен.

'/'
END_OF_DOCUMENT_MARKER

$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

Spec-Zone.ru

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