Spec-Zone.ru › CakePHP 3.3

Класс CookieComponent

Компонент Cookie.

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

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

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

  • $_defaultConfig protected
    array
    Конфигурация по умолчанию
  • $_keyConfig protected
    array
    Конфигурация, специфичная для данного ключа верхнего уровня.
  • $_loaded protected
    array
    Карта загруженных ключей.
  • $_response protected
    Cake\Network\Response
    Ссылка на объект Cake\Network\Response контроллера
  • $_values protected
    string
    Значения, хранящиеся в файлах cookie.

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

  • _componentMap, _registry, components, request, response _config, _configInitialized _validCiphers

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

  • _delete() protected
    Устанавливает время истечения срока действия файла cookie для удаления значения файла cookie.
  • _getCookieEncryptionKey() protected
    Возвращает ключ шифрования, который будет использоваться.
  • _load() protected
    Загрузка данных файлов cookie из объектов запроса и ответа.
  • _write() protected
    Установить файл cookie
  • check() public
    Возвращает true, если заданный ключ установлен в файле cookie.
  • configKey() public
    Установить конфигурацию для определённого ключа верхнего уровня.
  • delete() public
    Удалить значение файла cookie
  • implementedEvents() public
    Поддерживаемые этим компонентом события.
  • initialize() public
    Инициализировать данные конфигурации и свойства.
  • read() public
    Прочитать значение ключа пути из файлов cookie запроса.
  • write() public
    Записать значение в файлы cookie ответа.

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

_delete()source protected

_delete( string $name )

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

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

Параметры

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

_getCookieEncryptionKey()source protected

_getCookieEncryptionKey( )

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

Возвращает

строка

_load()source protected

_load( string|array $key )

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

Основываясь на данных конфигурации, файлы cookie будут расшифрованы. Когда файлы cookie содержат данные массива, эти данные будут расширены.

Параметры

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

_write()source protected

_write( string $name , string $value )

Установить файл cookie

Параметры

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

check()source public

check( string|null $key null )

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

Параметры

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

Возвращает

логическое значение
True, если ключ существует

configKey()source 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 — массив.

Возвращает

массив|null

delete()source public

delete( string $key )

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

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

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

Параметры

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

implementedEvents()source public

implementedEvents( )

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

Возвращает

массив

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

Cake\Controller\Component::implementedEvents()

initialize()source public

initialize( array $config )

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

Параметры

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

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

Cake\Controller\Component::initialize()

read()source public

read( string|null $key null )

Прочитать значение ключа пути из файлов cookie запроса.

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

Параметры

строка|null $key опционально null
Ключ искомого значения.

Возвращает

строка
или null, значение для заданного ключа

write()source public

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

Записать значение в куки-файлы ответа.

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

Параметры

string|array $key
Ключ для значения
mixed $value необязательно null
Значение

Методы, унаследованные от Cake\Controller\Component

__construct()source public

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

Конструктор

Параметры

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

__debugInfo()source public

__debugInfo( )

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

Возвращает

array

__get()source public

__get( string $name )

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

Параметры

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

Возвращает

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

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

_checkCipher()source protected

_checkCipher( string $encrypt )

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

Параметры

string $encrypt
Имя шифра.

Выбрасывает

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

_decode()source protected

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

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

Параметры

string $value
Значение для декодирования и расшифровки.
string|false $encrypt
Используемый шифр шифрования.
string|null $key
Используется в качестве секретного ключа, если указано.

Возвращает

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

_decrypt()source protected

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

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

Параметры

array $values
Значения для расшифровки
string|boolean $mode
Режим шифрования
string|null $key необязательно null
Используется в качестве секретного ключа, если указано.

Возвращает

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

_encrypt()source protected

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

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

Параметры

string $value
Значение для шифрования
string|boolean $encrypt

Используемый режим шифрования. False отключает шифрование.

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

Возвращает

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

_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.

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

_configDelete()source protected

_configDelete( string $key )

Удалить один ключ конфигурации

Параметры

string $key
Ключ для удаления.

Выбрасывает

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

_configRead()source protected

_configRead( string|null $key )

Считывание переменной конфигурации

Параметры

string|null $key
Ключ для чтения.

Возвращает

mixed

_configWrite()source protected

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

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

Параметры

string|array $key
Ключ для записи.
mixed $value
Значение для записи.
boolean|string $merge необязательно false

True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.

Выбрасывает

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

config()source 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']);

Параметры

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

Возвращает

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

Выбрасывает

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

configShallow()source 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']);

Параметры

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

Возвращает


$this Сам объект.

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

log()source public

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

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

Параметры

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

Возвращает

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

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

$_defaultConfigsource

protected array

Конфигурация по умолчанию

  • expires - Срок действия cookie. По умолчанию 1 месяц.
  • path - Путь на сервере, где cookie будет доступен. Если путь установлен в '/foo/', cookie будет доступен только в каталоге /foo/ и всех подкаталогах, таких как /foo/bar/, домена. Значение по умолчанию — базовый путь приложения. Например, если ваше приложение запущено в подкаталоге "cakeapp" корневого каталога, путь будет "/cakeapp/", иначе — "/".
  • domain - Домен, где доступен cookie. Чтобы сделать cookie доступным для всех поддоменов example.com, установите домен в '.example.com'.
  • secure - Указывает, что cookie должен передаваться только по защищенному соединению HTTPS. Если установлено в true, cookie будет установлен только если существует защищенное соединение.
  • key - Ключ шифрования, используемый при включенном шифровании cookie. По умолчанию Security.salt.
  • httpOnly - Установите в true, чтобы сделать cookie HTTP-только. Cookie, которые являются HTTP-только, недоступны в 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, нам необходимо отслеживать, какие cookie были прочитаны, чтобы учесть шаблоны чтения, удаления, чтения.

[]

$_responsesource

protected Cake\Network\Response

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

null

$_valuessource

protected string

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

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

[]

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

Spec-Zone.ru

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