Spec-Zone.ru › CakePHP 3.1

Класс CookieComponent

Компонент Cookie.

Обеспечивает расширенные возможности работы с куки для использования в слое контроллера. В дополнение к базовым функциям, предлагаемым Cake\Network\Response, этот класс позволяет:

  • Создавать и читать зашифрованные куки.
  • Хранить данные, не являющиеся скалярами.
  • Использовать синтаксис, совместимый с хешем, для чтения/записи/удаления значений.
Cake\Controller\Component implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait, Cake\Log\LogTrait
Extended by Cake\Controller\Component\CookieComponent uses Cake\Utility\CookieCryptTrait
Пространство имён: Cake\Controller\Component
Ссылка: http://book.cakephp.org/3.0/ru/controllers/components/cookie.html
Расположение: Controller/Component/CookieComponent.php

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

_deletesource protected

_delete( string $name )

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

Это выполняется только после того, как все значения в ключе куки будут удалены с помощью delete.

Параметры

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

_getCookieEncryptionKeysource protected

_getCookieEncryptionKey( )

Возвращает ключ шифрования, который будет использоваться.

Возвращает

string
строка

_loadsource protected

_load( string|array $key )

Загрузка данных куки из объектов запроса и ответа.

На основе данных конфигурации куки будут расшифрованы. Когда куки содержат массив данных, эти данные будут расширены.

Параметры

строка|массив $key
Ключ для загрузки.

_writesource protected

_write( string $name , string $value )

Установка куки

Параметры

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

checksource public

check( string|null $key null )

Возвращает true, если заданный ключ установлен в куки.

Параметры

строка|null $key необязательно null
Ключ для проверки

Возвращает

boolean
True, если ключ существует

configKeysource public

configKey( string $keyname , null|string|array $option null , string|null $value null )

Установите конфигурацию для определенного ключа верхнего уровня.

Примеры:

Установите один параметр конфигурации для ключа:

$this->Cookie->configKey('User', 'expires', '+3 months');

Установите несколько параметров:

$this->Cookie->configKey('User', [
  'expires', '+3 months',
  'httpOnly' => true,
]);

Параметры

строка $keyname
Имя ключа верхнего уровня для конфигурации.
null|строка|массив $option необязательно null
Имя параметра для установки, или массив параметров для установки, или null для чтения параметров конфигурации для данного ключа.
строка|null $value необязательно null
Значение для установки, или пустое значение, когда $option является массивом.

Возвращает

array|null
массив|null

deletesource public

delete( string $key )

Удалить значение куки

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

Удаление ключа верхнего уровня удалит все вложенные ключи. Например, удаление ключа User также удалит User.email.

Параметры

строка $key
Ключ значения, который нужно удалить

implementedEventssource public

implementedEvents( )

Поддерживаемые события этого компонента.

Возвращает

array
массив

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

Cake\Controller\Component::implementedEvents()

initializesource public

initialize( array $config )

Инициализация данных конфигурации и свойств.

Параметры

массив $config
Данные конфигурации.

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

Cake\Controller\Component::initialize()

readsource public

read( string|null $key null )

Чтение значения пути ключа из куки запроса.

Этот метод также позволит вам читать куки, которые были записаны в этом запросе, но еще не отправлены клиенту.

Параметры

строка|null $key необязательно null
Ключ значения, которое нужно получить.

Возвращает

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

writesource public

write( string|array $key , mixed $value null )

Запись значения в куки ответа.

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

Параметры

строка|массив $key
Ключ значения
смешанный $value необязательно null
Значение

Наследованные методы из Cake\Controller\Component

__constructsource public

__construct( Cake\Controller\ComponentRegistry $registry , array $config [] )

Конструктор

Параметры

Cake\Controller\ComponentRegistry $registry
КомпонентRegistry, который может использовать этот компонент для ленивой загрузки своих компонентов
массив $config необязательно []
Массив параметров конфигурации.

__debugInfosource public

__debugInfo( )

Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

Возвращает

array
массив

__getsource public

__get( string $name )

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

Параметры

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

Возвращает

mixed
Объект компонента или null.

Методы, используемые из Cake\Utility\CookieCryptTrait

_checkCiphersource protected

_checkCipher( string $encrypt )

Вспомогательный метод для проверки имён шифров шифрования.

Параметры

строка $encrypt
Имя шифра.

Исключения

RuntimeException
При предоставлении недопустимого шифра.
END_OF_DOCUMENT_MARKER

_decodesource protected

_decode( string $value , string|false $encrypt )

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

Параметры

строка $value
Значение для декодирования и расшифровки.
строка|ложь $encrypt
Шифр шифрования для использования.

Возвращает

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

_decryptsource protected

_decrypt( array $values , string|boolean $mode )

Расшифровывает $value, используя метод public $type класса Security.

Параметры

массив $values
Значения для расшифровки.
строка|логическое $mode
Режим шифрования.

Возвращает

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

_encryptsource protected

_encrypt( string $value , string|boolean $encrypt , string|null $key null )

Шифрует $value, используя метод public $type класса Security.

Параметры

строка $value
Значение для шифрования.
строка|логическое $encrypt
Режим шифрования для использования. Ложь отключает шифрование.
строка|null $key необязательно null
Используется в качестве соли безопасности только в этот раз для тестов, если указано.

Возвращает

string
Кодированные значения.

_explodesource protected

_explode( string $string )

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

Параметры

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

Возвращает

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

_implodesource protected

_implode( array $array )

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

Параметры

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

Возвращает

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

Методы, используемые из Cake\Core\InstanceConfigTrait

_configDeletesource protected

_configDelete( string $key )

Удаление одного ключа конфигурации.

Параметры

строка $key
Ключ для удаления.

Исключение

Cake\Core\Exception\Exception
при попытке перезаписи существующей конфигурации

_configReadsource protected

_configRead( string|null $key )

Чтение переменной конфигурации.

Параметры

строка|null $key
Ключ для чтения.

Возвращает

mixed
смешанное

_configWritesource protected

_configWrite( string|array $key , mixed $value , boolean|string $merge false )

Запись переменной конфигурации.

Параметры

строка|массив $key
Ключ для записи.
смешанное $value
Значение для записи.
логическое|строка $merge необязательно ложь
Истина для рекурсивного слияния, 'shallow' для простого слияния, ложь для перезаписи, по умолчанию ложь.

Исключение

Cake\Core\Exception\Exception
при попытке перезаписи существующей конфигурации

configsource public

config( string|array|null $key null , mixed|null $value null , boolean $merge true )

Использование

Чтение всей конфигурации:

$this->config();

Чтение определенного значения:

$this->config('key');

Чтение вложенного значения:

$this->config('some.nested.key');

Установка определенного значения:

$this->config('key', $value);

Установка вложенного значения:

$this->config('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->config(['one' => 'value', 'another' => 'value']);

Параметры

строка|массив|null $key необязательно null
Ключ для получения/установки или весь массив настроек.
смешанное|null $value необязательно null
Значение для установки.
логическое $merge необязательно истина
Рекурсивное слияние или перезапись существующей конфигурации, по умолчанию истина.

Возвращает

mixed
Значение конфигурации, которое читается, или сам объект при операциях записи.

Исключение

Cake\Core\Exception\Exception
При попытке установить неверный ключ.

configShallowsource public

configShallow( string|array $key , mixed|null $value null )

Объединение предоставленной конфигурации с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.

Установка определенного значения:

$this->config('key', $value);

Установка вложенного значения:

$this->config('some.nested.key', $value);

Обновление нескольких настроек конфигурации одновременно:

$this->config(['one' => 'value', 'another' => 'value']);

Параметры

строка|массив $key
Ключ для установки или весь массив конфигураций.
смешанное|null $value необязательно null
Значение для установки.

Возвращает

mixed
Сам объект.

Методы, используемые из Cake\Log\LogTrait

logsource public

log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )

Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.

Параметры

смешанное $msg
Сообщение журнала.
целое число|строка $level необязательно LogLevel::ERROR
Уровень ошибки.
строка|массив $context необязательно []
Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращает

boolean
Успешность записи в журнал.

Сводка свойств

$_defaultConfigsource

protected array

Настройка по умолчанию

  • expires - Сколько времени должны храниться куки. По умолчанию 1 месяц.
  • path - Путь на сервере, в котором будет доступна cookie. Если путь установлен в '/foo/', cookie будет доступна только в каталоге /foo/ и всех подкаталогах, таких как /foo/bar/ домена. Значение по умолчанию — базовый путь приложения. Например, если ваше приложение запущено в подкаталоге "cakeapp" корневого каталога, путь будет "/cakeapp/", иначе — "/".
  • domain - Домен, для которого доступна cookie. Чтобы сделать cookie доступной для всех поддоменов example.com, установите domain в '.example.com'.
  • secure - Указывает, что cookie должна передаваться только через защищенное соединение HTTPS. Если установлено в true, cookie будет установлена только при наличии защищенного соединения.
  • key - Ключ шифрования, используемый при включенном шифровании куки. По умолчанию Security.salt.
  • httpOnly - Установите в true, чтобы сделать куки HTTP-only. Cookie, которые являются HTTP-only, недоступны в JavaScript. По умолчанию false.
  • encryption - Тип шифрования для использования. По умолчанию 'aes'.
[
    'path' => null,
    'domain' => '',
    'secure' => false,
    'key' => null,
    'httpOnly' => false,
    'encryption' => 'aes',
    'expires' => '+1 month',
]

$_keyConfigsource

protected array

Настройка, специфичная для заданного ключа верхнего уровня.

Значения в этом массиве объединяются с общей настройкой для создания конфигурации для заданного имени cookie верхнего уровня.

[]

$_loadedsource

protected array

Карта загруженных ключей.

Поскольку CookieComponent лениво считывает данные cookie, нам нужно отслеживать, какие cookies были прочитаны, чтобы учесть шаблоны чтения, удаления и повторного чтения.

[]

$_responsesource

protected Cake\Network\Response

Ссылка на объект Cake\Network\Response контроллера

null

$_valuessource

protected string

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

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

[]

Наследуемые свойства из Cake\Controller\Component

$_componentMapsource

protected array

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

[]

$_registrysource

protected Cake\Controller\ComponentRegistry

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

$componentssource

public array

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

[]

$requestsource

public Cake\Network\Request

Объект запроса

$responsesource

public Cake\Network\Response

Объект ответа

Используемые свойства из Cake\Core\InstanceConfigTrait

$_configsource

protected array

Конфигурация во время выполнения

[]

$_configInitializedsource

protected boolean

Была ли уже настроена конфигурация свойства с значениями по умолчанию

false

Используемые свойства из Cake\Utility\CookieCryptTrait

$_validCipherssource

protected array

Допустимые имена шифров для зашифрованных cookie.

['aes', 'rijndael']

© 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/3.1/class-Cake.Controller.Component.CookieComponent.html

Spec-Zone.ru

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