Spec-Zone.ru › CakePHP 3.6

Класс CookieComponent

Компонент Cookie.

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

  • Создавать и читать зашифрованные файлы cookie.
  • Хранить данные, не являющиеся скалярами.
  • Использовать синтаксис, совместимый с хешем, для чтения/записи/удаления значений.
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
Ссылка: 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
    Значения, хранящиеся в файле cookie.

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

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

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

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

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

_delete()source protected deprecated

_delete( string $name )

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

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

Параметры

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

_getCookieEncryptionKey()source protected deprecated

_getCookieEncryptionKey( )

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

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

строка

_load()source protected deprecated

_load( string|array $key )

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

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

Параметры

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

_write()source protected deprecated

_write( string $name , string $value )

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

Параметры

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

check()source public deprecated

check( string|null $key = null )

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

Параметры

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

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

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

configKey()source public deprecated

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 optional null

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

строка|null $value optional null
Значение для установки, или пустое, когда $option является массивом.

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

массив|null

delete()source public deprecated

delete( string $key )

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

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

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

Параметры

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

implementedEvents()source public deprecated

implementedEvents( )

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

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

массив

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

Cake\Controller\Component::implementedEvents()

initialize()source public deprecated

initialize( array $config )

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

Параметры

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

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

Cake\Controller\Component::initialize()

read()source public устаревший

read( string|null $key = null )

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

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

Параметры

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

Возвращает

string
или 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
КомпонентRegistry, который может использоваться этим компонентом для ленивой загрузки своих компонентов
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() Сохраняет обратную совместимость со считыванием с 1.x CookieComponent::_implode().

Параметры

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 устаревший

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

Параметры

string|array $key
Ключ для установки или полный массив конфигураций.
mixed|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');

Параметры

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

Возвращает

mixed
Считываемое значение конфигурации.

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

Параметры

string|array $key
Ключ для установки или полный массив конфигураций.
mixed|null $value необязательно null
Значение для установки.
boolean $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().

Параметры

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\Http\Response|null

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

Устарело

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

$_valuessource

protected array

Значения, хранящиеся в файле 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.6/class-Cake.Controller.Component.CookieComponent.html

Spec-Zone.ru

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