Spec-Zone.ru › CakePHP 3.8

Класс CookieComponent

Компонент Cookie.

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

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

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

  • $_defaultConfig protected
    array
    Конфигурация по умолчанию
  • $_keyConfig protected
    array
    Конфигурация, специфичная для данного ключа верхнего уровня.
  • $_loaded protected
    array
    Карта загруженных ключей.
  • $_response protected
    Cake\Http\Response|null

    Ссылка на объект Cake\Http\Response контроллера. В настоящее время не используется.

  • $_values protected
    array
    Значения, хранящиеся в куки.

Унаследованные свойства

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

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

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

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

_delete()source protected устарело

_delete( string $name )

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

Это делается только после удаления всех значений в ключе куки с помощью delete.

Параметры

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

_getCookieEncryptionKey()source protected устарело

_getCookieEncryptionKey( )

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

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

строка

_load()source protected устарело

_load( string|array $key )

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

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

Параметры

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

_write()source protected устарело

_write( string $name , string $value )

Устанавливает куки

Параметры

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

check()source public устарело

check( string|null $key = null )

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

Параметры

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

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

boolean
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 )

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

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

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

Параметры

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

implementedEvents()source public устарело

implementedEvents( )

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

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

массив

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

Cake\Controller\Component::implementedEvents()

initialize()source public устарело

initialize( array $config )

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

Параметры

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

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

Cake\Controller\Component::initialize()
END_OF_DOCUMENT_MARKER

read()source public deprecated

read( string|null $key = null )

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

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

Параметры

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

Возвращает

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

write()source public deprecated

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
ComponentRegistry, который этот компонент может использовать для ленивой загрузки своих компонентов
array $config необязательно []
Массив настроек конфигурации.

__debugInfo()source public

__debugInfo( )

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

Возвращает

array

__get()source public

__get( string $name )

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

Параметры

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

Возвращает

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

getController()source public

getController( )

Получить контроллер, к которому привязан этот компонент.

Возвращает

Cake\Controller\Controller
Связанный контроллер.

Методы, используемые из 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|array
Декодированные значения.

_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|array
Расшифрованные значения

_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(). Сохраняет обратную совместимость с CookieComponent::_implode() версии 1.x.

Параметры

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

Возвращает

string|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 deprecated

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
При попытке установить неверный ключ.
END_OF_DOCUMENT_MARKER ```

configShallow()source public

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

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

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

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

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

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

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

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

Параметры

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

Возвращает


$this

getConfig()source public

getConfig( string|null $key = null , mixed $default = null )

Возвращает конфигурацию.

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

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

$this->getConfig();

Чтение конкретного значения:

$this->getConfig('key');

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

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

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

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

Возвращает

смешанное
Данные конфигурации по указанному ключу или null, если ключ не существует.

setConfig()source public

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

Устанавливает конфигурацию.

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

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

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

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

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

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

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

Параметры

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

Возвращает


$this

Выбрасывает

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

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

log()source public

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

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

Параметры

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

Возвращает

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

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

$_defaultConfigsource

protected массив

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

  • 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-only. HTTP-only cookie недоступен в JavaScript. По умолчанию false.
  • encryption - Тип шифрования для использования. По умолчанию 'aes'.
[
    'path' => null,
    'domain' => '',
    'secure' => false,
    'key' => null,
    'httpOnly' => false,
    'encryption' => 'aes',
    'expires' => '+1 month',
]

$_keyConfigsource

protected массив

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

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

[]

$_loadedsource

protected массив

Карта ключей, которые были загружены.

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

[]

$_responsesource

protected Cake\Http\Response|null

Ссылка на объект Cake\Http\Response контроллера. В настоящее время не используется.

Устарело

3.4.0 Будет удалено в 4.0.0

$_valuessource

protected массив

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

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

[]

© 2005–present 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.8/class-Cake.Controller.Component.CookieComponent.html

Spec-Zone.ru

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