Spec-Zone.ru › CakePHP 2.7

Класс CookieComponent

Компонент Cookie.

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

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

Подробное описание методов

__constructисходный код public

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

Конструктор

Параметры

ComponentCollection $collection
A ComponentCollection для этого компонента
массив $settings необязательно array()
Массив настроек.

Переопределяет

Component::__construct()

_decodeисходный код protected

_decode( string $value )

Декодирует и расшифровывает одно значение.

Параметры

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

Возвращает

string
Декодированное значение.

_decryptисходный код protected

_decrypt( array $values )

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

Параметры

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

Возвращает

string
Расшифрованная строка

_deleteисходный код protected

_delete( string $name )

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

Параметры

строка $name
Имя cookie

_encryptисходный код protected

_encrypt( string $value )

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

Параметры

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

Возвращает

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

_expireисходный код protected

_expire( integer|string $expires null )

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

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

Используется методом write() CookieComponent::write(строка, строка, boolean, 8400); CookieComponent::write(строка, строка, boolean, '5 дней');

Параметры

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

Возвращает

integer
Метка времени Unix

_explodeисходный код protected

_explode( string $string )

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

Параметры

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

Возвращает

array
Карта ключа и значений

_implodeисходный код protected

_implode( array $array )

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

Параметры

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

Возвращает

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

_writeисходный код protected

_write( string $name , string $value )

Установить cookie

Параметры

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

checkисходный код public

check( string $key null )

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

Параметры

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

Возвращает

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

deleteисходный код public

delete( string $key )

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

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

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

Этот метод удалит как верхнеуровневые, так и второуровневые 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исходный код public

destroy( )

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

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

Ссылка

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

readисходный код 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исходный код public

startup( Controller $controller )

Инициализация CookieComponent для использования в контроллере

Параметры

Controller $controller
Экземпляр контроллера.

Переопределяет

Component::startup()

typeисходный код public

type( string $type 'cipher' )

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

Параметры

строка $type необязательно 'cipher'
Метод шифрования
END_OF_DOCUMENT_MARKER

writesource public

write( string|array $key , mixed $value null , boolean $encrypt true , integer|string $expires null )

Записать значение в $_COOKIE[$key];

Необязательное [Имя.], обязательный ключ, необязательное $значение, необязательное $шифрование, необязательное $срокДействия $this->Cookie->write('[Имя.]ключ, $значение);

По умолчанию все значения зашифрованы. Вы должны передать $encrypt 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

__getsource public

__get( string $name )

Магический метод для ленивой загрузки $components.

Параметры

строка $name
Имя компонента для получения.

Возвращает

mixed
Объект компонента или 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::beforeRedirect

beforeRendersource public

beforeRender( Controller $controller )

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

Параметры

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

Ссылка

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

initializesource public

initialize( Controller $controller )

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

Параметры

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

Ссылка

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

shutdownsource public

shutdown( Controller $controller )

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

Параметры

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

Ссылка

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

Методы, унаследованные от 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 необязательно array()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stopsource protected

_stop( integer|string $status 0 )

Останавливает выполнение текущего сценария. Оборачивает exit(), что облегчает тестирование.

Параметры

целое число|строка $status необязательно 0
см. http://php.net/exit для значений

dispatchMethodsource public

dispatchMethod( string $method , array $params array() )

Вызывает метод этого объекта с заданными параметрами. Предоставляет OO-обёртку для call_user_func_array

Параметры

строка $method
Имя вызываемого метода
массив $params необязательно array()
Список параметров для вызова $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 необязательно array()
Если массив включает ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/передаваемых аргументов.

Возвращает

mixed
Булево значение true или false при успехе/неуспехе, или содержимое отрисованного действия, если в $extra установлен ключ 'return'.

toStringsource public

toString( )

Преобразование объекта в строку. Каждый класс может переопределить этот метод по необходимости.

Возвращает

string
Имя этого класса

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

$_expiressource

protected string

Время истечения срока действия куки

Это контролируется CookieComponent::time;

$_resetsource

protected string

Используется для сброса времени куки, если $expire передан в CookieComponent::write()

null

$_responsesource

protected CakeResponse

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

null

$_typesource

protected string

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

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

'cipher'

$_valuessource

protected string

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

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

См. также

CookieComponent::read();
array()

$domainsource

public string

Путь домена.

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

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

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

''

$httpOnlysource

public boolean

HTTP-только куки

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

false

$keysource

public string

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

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

null

$namesource

public string

Имя куки.

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

'CakeCookie'

$pathsource

public string

Путь куки.

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

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

'/'

$securesource

public boolean

Куки только HTTPS.

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

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

false

$timesource

public mixed

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

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

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

null

Наследованные свойства от Component

$_Collectionsource

protected ComponentCollection

Класс коллекции компонентов, используемый для ленивой загрузки компонентов.

$_componentMapsource

protected array

Таблица поиска компонентов, используемая для ленивой загрузки объектов компонентов.

array()

$componentssource

public array

Другие компоненты, используемые этим компонентом.

array()

$settingssource

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

Spec-Zone.ru

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